排除B 和D ,这两个选项时态一个是现在完成时,和将来完成,根据 by the time 2004 说明是过去的事情,所以已经过去了,A 表示 will将来要做的,所以选择C
1、首先要区分has been done与 had been done的区别:
sth have/has been done 是现在完成时的被动语态.表示某事被做,.
如:The problems have been solved.这些问题已经被解决了.
sth had been done 则是过去的过去,是过去完成的被动态时.(当你想说发生在过去的两件事时,就要分清谁先谁后.先发生的用过去完成时,后发生的要用过去时).
如:The rooms had been cleaned when I came.我来的时候,房间已经被打扫了.
2、区分has/have been doing与 had been doing
has/have been doing是现在完成进行时,并对现在有影响.
如句子:I have been dreaming all the night.
had been doing是过去完成进行时,也是过去的过去,需要时间先后顺序的对比.
如:I had been doing the cleaning before my mother arrived at home.
那么现在就可以区分had been doing 和had been done的区别了
3.had done 过去完成时,表示动作发生在前一动作之前(过去的过去)
have done 现在完成时。
温馨提示:答案为网友推荐,仅供参考