现在完成时和过去完成时的区别是?在语法填空里有什么标志性说明来填前者还是后者?麻烦说下,谢谢

如题所述

有很多是现在完成时和过去完成时都会用的词,比如already,yet等。主要通过上下文判断说话的时间点是现在还是过去。
现在完成时是站在现在的角度看过去发生的动作(对现在造成了影响),能用现在完成时。通常都没有明确的过去时间(如yesterday,two days ago, last week, in 2000等),但是又能推断出动作发生在过去的。
比如:这本书我看完了。I have finished reading this book. 既然是看完了,那么动作发生在过去。既然没说具体是什么时候看完的,那么可以用现在完成时强调对现在的影响(到现在为止的结果就是书看完了,这个结果是一直持续到现在的)。
这个时候其实也可以用一般过去时:I finished reading this book. 只不过这个时候不是强调看过的这个结果,而是强调finish这个动作发生在过去。
如果说:昨天我看完这本书了。这个时候因为有明确的过去时间,必须用一般过去时:I finished reading this book yesterday.
过去完成时,则是站在过去的角度看过去的过去(比如站在昨天看昨天的过去),发生了某个动作之后对过去有影响(昨天之前发生了某个动作,在昨天看来这个影响或者结果还在)。这个时候通常句子会出现明确的过去时间(如yesterday,two days ago, last week, in 2000等),而且出现表示“直到”“在...之前”的词(表示在这个过去时间之前,或者直到这个过去时间为止);或者出现一个已经发生在过去的动作,然后再说另一个发生在这之前的动作,这个时候后面说的这个动作就会用过去完成时。
例如:在昨晚八点之前,我就已经看完这本书了:I had finished reading this book before 8 p.m. last night.
8 p.m. last night已经是过去了, 那么发生在before 8 p.m. last night,也就是过去的过去,就需要用过去完成时追问

好的,明白了,谢啦

温馨提示:答案为网友推荐,仅供参考