had done是过去完成时。过去完成时与现在完成时相似,也有“已完成“和“未完成“两种用法,它既可表示在过去某一时间之前已完成的动作,也可表示从一个较早的过去持续一个较迟的过去的动作。
had done表示的意思是在过去的某一时间之前某事已经被做,此为过去完成时,had sth done,让某事被做。
过去完成时(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
表示从过去的过去开始,持续到过去的动作或情况,期间一直有规律的在进行、不曾间断,并且有可能会继续延续下去。此时经常用延续性动词。
have done和had done的区别主要是:have done是现在完成时。表示的是处于现在这个时间点是现在完成时,对这个时间点之前发生的一个或一系列动作的总结。had done是过去完成时。过去完成时表示的是:站在某个过去的时间点,对这个时间点之前发生的一个或一系列动作的总结。
过去完成时表示过去某一时间或动作以前已经发生或完成了的动作,对过去的某一点造成的某种影响或是结果,用来指在另一个过去行动之前就已经完成了的事件。在英语时态中,"时"指动作发生的时间,"态"指动作的样子和状态。它表示动作发生的时间是"过去的过去",侧重事情的结果。
现在完成时是过去的动作或状态持续到现在并且已经完成,对现在造成的影响,可能持续发生下去。在英语时态中,"时"指动作发生的时间,"态"指动作的样子和状态。