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

1个回答

  • 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