最近有小伙伴提到,客户发邮件来催货,里面有一句话:

Please ship my order BY NEXT WEEK.

看到这个by,心里不禁有一丝疑惑,因为平时我们说 by 5 PM 是很清楚明了的表示「下午五点之前」,则 by = before。

但这里老外说 by next week,这是一个时间段,不同于5PM这个时间点,是否也是指before next week,即这周结束之前?

大大的NO。

实际上,

by next week = by the end of next week

就是下周结束之前。

一字之差的理解,可能会造成巨大的误会,那可差了整整一个星期。

这是由于中文对于时间的模糊性,对于一个时间段来说,「…时间之前」到底包不包含该时间段,比如星期五之前,到底包不包括星期五,是模棱两可的,用数学术语来说,就是开区间还是闭区间的问题。导致by 和 then在字典和例句里的翻译都是一样的,都是「…时间之前」。

实际上,by和before区分是很明确的。

对于一个时间段来说:

如下图。

客户说交货期没那么快怎么回答(客户说shipbynext)(1)

(芬哥原创)

比如,我们追踪项目时常说 , I need it by today,今天已经是在进行了,只可能是「今天结束之前」,= by the end of today。

对于某个时间点来说,就没什么争议了,因为没开始和末尾之分,都一样。

客户说交货期没那么快怎么回答(客户说shipbynext)(2)

(芬哥原创)

再讲一个小小的语法知识点。

大家在学语法的时候可能有个疑问,既然在针对时间点时,by 和 before是一样的,为什么有了by的情况下就要用完成时,而before就只能是现在时或者过去时(过去完成时表示过去的过去除外)。

如:

- 在这个月底之前,我们的员工数将超过一万人。

- By the end of this month, we will have had 10K people.

这里用了by,后面就一定要是have had。

如果你改成了before,后面就只能说have。

- Before the end of this month, we will have 10K people.

点解?

其实by和before虽然都是表示「在…之前」,即便是用在时间点上,还是有细微差别。

by强调的是动作对deadline的影响,动作持续或者结果持续到deadline,在这个deadline说话人会检查动作有没有发生。

before则只指表示动作的先后顺序,即在deadline之前任意时间点完成即可,对deadline不负责。

把上面那幅图稍微修改一下,应该就很清晰了:

客户说交货期没那么快怎么回答(客户说shipbynext)(3)

(芬哥原创)

举个例子。

- 请在下午5点之前来一趟办公室找我(否则我下班了)。

- Please do come to my office before 5 PM.

这里用before,表示你在5点即我下班之前来找我就可以了,可以是3点来来,4点走,5点我就不管你在哪里了。

- 请在上午10点之前来会议室开会。

- Please come to the conference room by 10 am.

这里用by,到10点时说话人会检查你到底come没有come,10点之前你是不能跑路的。

再举个例子,妈妈要你晚上9点之前回家。

1)Please come back home by 9 PM.

2)Please come back home before 9 PM.

用by时,9点的时候妈妈会检查你回没回来,那个时间点你是铁定要在家的。

用before时,妈妈是要你9点之前回来一趟即可,可能是帮忙处理一下家里的事情,你可能7点就回来了,处理完之后才8点,至于你继续待家里还是出去玩,就没人管你了,老妈在9点的时候也不会检查。

综上所述,by其实完美契合了完成时的本质:

完成时:表示过去发了某件事,而且现在这个动作的结果还保持在某个时间点。

所以用了by的情况通常都是完成时。

注:

  1. 祈使句里没办法用完成时,所以也可以用by。
  2. by then, by that time 是“到那时候”的意思,不是“...之前”的意思,所以不用完成时。

回到之前的例子,用了by就要用完成时,所以是要说have had。

(1)By the end of this month, we will have had 10K people.

(2)Before the end of this month, we will have 10K people.

注意一点,从语法角度来说(1)和(2)都是对的,只不过意思还是有一点区别。

正常情况下,我们只会说按照(1)来说,(2)纯粹是应试教育下为了语法正确强行改出来的,不符合习惯。

还可以说at the end of this month,后面用have,也是符合习惯的。

- At the end of this month, we will have 10K people.

所以大家会发现,在设定时间目标时,大多都会用by,因为说话人主观上是强调:

劳资在这个点如果发现你没有完成,你就完蛋了!

老板咆哮说:

Please send me the email by 5PM today!

就是暗示你,劳资在5点的时候会检查邮件,没收到的话,你就等着执包袱走人!

举一个有趣的例子,老师说 Please hand in your homework by 5 PM.

如果说成 Please hand in your homework before 5 PM会有什么后果?

有个 同学 确实是在3点的时候把作业交了,但是在4点的时候他又把作业偷走了, 他也可以说,老师,我确实是按照您说的, I handed in my homework before 5 PM呀。

,