一、现在完成时(have/has done)
①表示动作到现在为止已经完成或刚刚完成,强调对现在产生的影响。
例:I bought a new house, but I haven't sold my old one yet, so at the moment I have two houses.
我买了一所新房子,但是还没有卖掉旧的,所以现在我又两所房子。
②表示从过去某时刻开始,持续到现在的动作或情况,并且有可能会继续延续下去。此时经常用延续性动词。
时间状语常用since加一个过去的时间点,或for加一段时间,或by加一个现在时间。
例:Great as Newton was, many of his ideas have been challenged today and are being modified by the work of scientists of our time.
虽然牛顿是个伟大的人物,但他的许多见解直到今天还在受到挑战,并且被现代科学家的工作所修正。
二、现在完成进行时(have/has been doing)
表示某一动作开始于过去某一时间,延续或重复地出现至今,或将继续延续至将来。
例:We have been working on this project for over a month now.
到目前为止,我们一直在处理那个项目,已经花了一个多月时间了。
三、过去完成时(had done)
①表示在过去的某个时间或动作以前已经完成的动作或已经存在的状态。就是我们常说的"过去的过去"。
Until then, his family hadn't heard from him for six months.
到那时为止,他家里已经有六个月没得到他的消息了。
②表示从过去的过去开始,持续到过去的动作或情况,并且有可能会继续延续下去。此时经常用延续性动词。
By the time I left the school, he had taught the class for 3 years.
到我毕业时,他已经教那个班三年了。