1) may(might) have + done sth, can (could) have + done sth 表示过去,推测过去时间里可能发生的事情。
Philip may (might) have been hurt seriously in the car accident.
Philip can (could) have been hurt seriously in the car accident.
2) must have +done sth,对过去时间里可能发生的事情的推测,语气较强,具有"肯定","谅必"的意思。来源:考试大
---Linda has gone to work, but her bicycle is still here.
---She must have gone by bus.
3) ought to have done sth, should have done sth
本应该做某事,而事实上并没有做。否定句表示"不该做某事而做了"。来源:考试大
You ought to (should) have been more careful in this experiment.
He ought not to have thrown the old clothes away.(事实上已扔了。)
ought to 在语气上比should 要强。来源:考试大
4) needn't have done sth 本没必要做某事
I dressed very warmly for the trip, but I needn't have done so. The weather was hot.
5) would like to have done sth 本打算做某事
I would like to have read the article, but I was very busy then.
