过去完成时(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.
到我毕业时,他已经教那个班三年了.
过去完成进行时:had been doing
表示从过去的过去开始,持续到过去的动作或情况,期间一直有规律的在进行、不曾间断,并且有可能会继续延续下去。此时经常用延续性动词。
例:The old clock had been being taken apart of and fixed up again for several times by my 10-year old son before I came back home.
我回到家之前,我10岁大的儿子已经把这个旧钟表拆卸并重新组装了好几回了。
过去将来完成时:(would have done)
表示到过去将来某一时间已经完成的动作,并且对过去将来那一时间点产生影响。
例:I believed by the end of that year an advanced version of that software would have been developed, but I was wrong.
我坚信到那年年底为止,那个软件的新版本将被开发出来。但是我错了。
表示动作从过去某一时间开始一直延续到过去将来某一时间,并且有可能继续延续下去。
例:He told me that by the end of the year he would have lived there for thirty years.
他告诉我,到那年年底为止他将已经在那里住了三十年了。