1. “should have done”表示应该做到而实际上没有做到。 “ought to have done”表示过去应做某事而实际未做。
You should have started earlier. You ought to have helped him (but you didn’t)
2. need 表示“需要”或“必须”,作情态动词时,仅用于否定句或疑问句中。
在肯定句中一般用must, have to, ought to或should代替。
You needn’t come so early. Need I finish the work today? --Yes, you must.
注意:needn’t have done“表示本来不必做某事而实际上做了某事”。
You needn’t have waited for me.
