1. 英语语法
  2. 虚拟语气
  3. need表示的不必做和本不该做

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 不可以(用于一般现在时)。