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
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