「should have done」是英語中一種常見的語法結構,用於表達虛擬語氣,具體可參考如下:
表示本應該做某事但實際上並未做。這種用法通常涉及到過去的情況,表達了一種未實現的願望或可能性,如「You should have finished your homework earlier, but you didn』t.」(你本應該早點完成作業,但你沒有。)
表達對過去情況的驚訝或意外。這種用法通常跟在表達驚訝或意外的形容詞之後,如「surprised」「amazed」,用來表達對某個出乎意料的事件或情況的反應,如「It is wonderful that you should have achieved so much in these years.」(這些年你們竟然取得如此大的成就,真了不起!)
此外,「should have done」還可以用來表達對過去情況的推測,這種用法相對較少見。