从零开始学语法：may have done用法小结
may/might have done 推测过去
-Whatever has happened to George?
-I don't know. He may have got lost.
You might have read about it in the papers.
may/might have done 推测现在
She might have got up now.
may/might have done 预测未来
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.