I have seen that film before. 这是一个现在完成时的句子,让人困惑的是句中before的使用。一个表示"过去"时间的词语如何能修饰表示现在的谓语动词have seen?而同样表示过去时间的yesterday却不能修饰现在完成时的谓语动词,我们不能这样表示:I have seen that film yesterday. 这究竟是为什么?
想要弄明白这个问题,我们不但要了解现在完成时的特点,更要正确认识表"过去"时间的before。和别种时态不同的是现在完成时表示的时间其实是包括过去和现在两个时间的,只不过该时态侧重强调的是现在的时间(所以,时态的名称以"现在"相称)。如上述我们举的例句 I have seen that film before. 句中谓语的动作明显是发生于过去,但句子时态强调的却是动作现在状况(已看过电影,对电影内容有所了解)。因此,在选用表示时间的词语修饰现在完成时时,要注意该时态的这个特性。