1) may(might) have + done sth, can (could) have + done sth表示過去,推測過去時間里可能發(fā)生的事情。例如:
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,對過去時間里可能發(fā)生的事情的推測,語氣較強,具有"肯定","諒必"的意思。例如:
——Linda has gone to work, but her bicycle is still here. 琳達已經(jīng)去上班了,但她的單車還在這兒。
——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. 我想讀這篇文章,但太忙了一直沒讀。