客户说ship by next week,到底是这周末之前还是下周末之前?

2020-03-07   史蒂芬的专栏


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


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区分是很明确的。


对于一个时间段来说:


  • by:截止时间是在这段时间的末尾。
  • before:截止时间是在这段时间段开始。


如下图。

(芬哥原创)


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


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


(芬哥原创)


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


大家在学语法的时候可能有个疑问,既然在针对时间点时,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不负责。


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


(芬哥原创)


举个例子。


- 请在下午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)的情况下,月底那一天去检查,员工人数确实是超过1万。
  • 在(2)的情况下,只要是月底之前曾经有一天数超过1万人即可,但这个数量不能够保持得住还是个问题。假设在20日人数超过1万人,但是没过几天这1万多人全都跑路,到月底时一个人也没有了,这句话也是成立的。


正常情况下,我们只会说按照(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呀。