首页 > 留学知识库

问题: 英语比较好的进来帮个忙

should have done、could have done和may have done的用法以及它们之间区别都是什么啊?说的尽量详细点啊,经常会混在一起。

解答:

should have done 表示假设, 过去应该做而没有做含有责备的意思。 如; You should have done your home work earlier.

could have done 表示假设, 与过去的事实相反。 如:He could have been very rich, but he cared for no money at all.

may/might have done表示对过去某事可能性的推测,意为“可能已经。。。。。。”
用might比用may更表示怀疑。
It's twelve now. She may have arrived.