对于have done sth for和have been doing sth for的区别还是有些不清楚。

have done for是指将来不会再继续下去了?
have been doing sth for是不是一定要接延续性动词?
这个问题困扰很久了,谢谢~

have done sth for
have been doing sth for
都是有完成的意思,而且都是持续至今的完成时态。
但是,它们不同之处在于,
前者是到这个时刻已经没有做这件事而后者是到这个时刻还在做这事。

举例吧,假如我已经用2小时写完作业了(证明现在没写了),就用have done my homework for 2 hours
但是如果我已经写了2小时作业了,但是还没写完,现在还在写,就用have been doing my homework for 2 hours

希望能帮助你
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-18
同学,have done sth for 是现在完成时,是近期已经做过某事;have been doing sth for 是现在完成进行时,是指近期已经在做的事情并且现在还在继续做着;for 呢只是为了....,不必太介意介词和介词后面的宾语。还有,对于have done 和 have been doing 严格意义上讲都是要接延续性动词,但是后者要求相对严格点。希望对你有帮助!
第2个回答  2011-02-18
have done 强调动作已经完成,而HAVE BEEN DOING 强调的是最近一直在做,强调动作时间段中的存续性,HAVE BEEN DOING之后一般都接延续性动词
相似回答