经常用到的情态动词+have done的结构和用法有以下几种:
一、must have done sth.一定做某事。表示对过去事情的较有把握的推测,这时只能用在肯定句中,“肯定/必须已经干过…”,在否定句和疑问句中用can't或couldn't或can/ could,例如:
1.From what you said, she must have told you all about it.
从你的话看,她一定告诉了你所有的事情。
2.The light was out. They must have gone to bed.
灯都熄了,他们必定睡了。
3.He must have done it when I was off with those assholes.
他一定是趁我和那群混蛋一起的时候做的。
4.The man must have done something right, more right than all jumpers before.
这个人一定是做了些很对的事,比所有以前跳高的做得更对。
5.China must have done something supremely right to produce the economic miracle we observe.
中国一定是做了非常对的事才产生了我们见到的经济奇迹。
6.You must have done something to her.
你一定有跟她做什么事。
7.He must have done sometime. Certainly he had always been jealous of him as a child.
有时他肯定爱,当然他总是忌妒弟弟,像一个小孩子。

二、can/could have done sth.本来能够做某事,而实际上未做
1.But we could have done it all so much better.
但是,我们本可以把这一切做得更好。
2.If you do a good job, you may tell yourself that it wasn’t good enough or that anyone could have done as well.
比如你完成了一项出色的工作,你或许告诉你自己它不够好,任何人都可以做的像你一样好。

三、can't/couldn't have done sth.不可能做过某事
1.I could't have done it without you.
若是没有你,我不可能做到那样的。
2.We could't have done it without you.
没有你我们办不成这事。

四、ought to/should have done sth.过去本应该做某事而实际上并没有做
1.You should have done it when you first saw them blooming this spring.
你应该在今年春天第一次看到它们盛开的时候就挖一些的。
2.Even if it’s something you should have done earlier in the week or missed a detail on.
甚至你在一个星期前的就提早完成了一件事或者忽略了一个小细节。