has/have+done与had+done的用法和区别

rt

一、 “must+have+done”表示对过去事情的肯定推测,译成“一定做过某事”,该结构只用于肯定句。
  1. It must have rained last night, for the ground is wet. 昨晚一定下雨了,因为地面还是湿的。
  2. You must have been mad to speak to the servant. 你和仆人说话,一定是发疯了。
  二、 “can't+have+done”表示对过去事情的否定推测,译成“不可能做过某事”。
  1. Mr. Smith can't have gone to Beijing, for I saw him in the library just now. 史密斯先生不可能去北京了,我刚才还在图书馆见过他。
  2. Mary can't have stolen your money. She has gone home. 玛丽不可能偷你的钱,她回家去了。
  三、 “can+have+done”表示对过去行为的怀疑,用于疑问句,译成“可能做过……吗?”。
  1. There is no light in the room. Can they have gone out? 屋里没有灯,他们可能出去了吗?
  2. There is nowhere to find them. Where can they have gone? 到处找不到他们,他们可能到什么地方去呢?
  四、 “could+have+done”是虚拟语气,表示对过去事情的假设,意思是本来能够做某事而没有做。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-15
have done是动作发生在过去,现在刚刚做完had done 是过去的某一时刻已经完成的动作