may/might have done 推测过去

“may/might+动词的完成式”表示对过去发生的行为的推测。例如:

-Whatever has happened to George?
-乔治发生了什么事?
-I don't know. He may have got lost.
-我不知道,他可能迷路了。

You might have read about it in the papers.
你可能在报上已经看过这个消息了。

(之前我们做过can have done用法小结,can have done表推测时都是对过去进行推测,但是may have done不仅可以推测过去)

may/might have done 推测现在

“may/might+动词的完成式”表示对现在情况的推测。例如:

She might have got up now.
现在她可能已经起床了。

may/might have done 预测未来

“may/might+动词的完成式”表示推测将来某时之前的情况。例如:

He may have left when you get there.
等你到达的时候他可能已经离开了。

注意:may have done 和 might have done 表推测时,might 所表示的可能性比 may 小,语气较委婉:

How quickly time passed! It might have happened yesterday.
时间过得好快啊!这事好像就发生在昨天。

He might have seen the surprise in my face.
他或许已经看到了我惊异的表情。

might have done 表轻微责备

might have done 除了能够表推测,还能表示过去本来可以做而实际并没有做。这时带有轻微的责备之意。例如:

The proposal might have been refused.
这个建议本该拒绝的。(有轻微的责备之意)

I might have taken another path.
我本可以走另一条路。

may not/mightn't have done 表“可能不”

之前我们讲到过 can't/couldn't have done 是表示“不可能”,而 may not/mightn't have done 则是表示“可能不”,要注意区分哦:

He can't have been at the meeting, he's on a business trip this week.
他不可能有出席会议,他这周出公差。

We couldn't have done it without you.
没有你我们肯定完成不了。

They may not have known it beforehand.
他们事先可能不知道这事儿。

They mightn't have regarded me as their friend.
他们可能没有把我当作朋友看待。