答案B
by far表示“……得多”,常修饰比较级和最高级;so far指“到目前为止”;the other day指“前几天”;at one time意为“曾经;一度”.C、D两项都与一般过去时连用,而B项与完成时连用.