didn't need to do是表示过去不必做某事, 事实上也没做的意思;
needn't have done则是表示: 过去不必做某事, 但事实上做了的意思。
John went to the station with the car to meet Mary, so she didn't need to walk back home. 约翰开车去车站接玛丽,所以她不必步行回家了。
John went to the station with the car to meet Mary, so she needn't have walked back home. 约翰开车去车站接玛丽,所以她本不必步行回家了。 (Mary步行回家,没有遇上John的车。)
典型例题
There was plenty of time. She ___.
A. mustn't have hurried B. couldn't have hurried C. must not hurry D. needn't have hurried
答案D。needn't have done. 意为"本不必",即已经做了某事,而时实际上不必要。
Mustn't have done 用法不正确,对过去发生的事情进行否定性推断应为couldn't have done, "不可能已经"。 must not do 不可以(用于一般现在时)。
友谊的见证
国内英语资讯:Xi Focus: Xi chairs leadership meeting on regular epidemic control, economic work
留在心里的印象
一对形影不离的好朋友
体坛英语资讯:German football in crisis after offending fan protests
劝说
国内英语资讯:Political advisors discuss talent training for foreign-related legal services
苹果和谷歌联手追踪信管患者,iPhone和安卓联动
救鸟行动
国内英语资讯:China supports G20 action plan to help poorest countries: MOF