have started/begun to do sth.-->have done sth意思是开始做某事,当我们遇到前面这个(start、begin)瞬间动词用于一段时间(2 hours)时要变为后面这个句型have done sth,done是延续性动词do(这里的do是做的意思),不能用瞬间动词。当我们遇到for +一段时间 或 since+过去的时间点(since 2 years)就要转换为延续性动词。如:open,stop,like,love,die,win,close,shot,begin,start enter,finish 等为瞬间动词用于时间段时都要做相应的变换的,当然要记忆一下的。希望能帮助你,欢迎追问!
for加一段时间,表延续性
动词可分为短暂性和延续性动词,对于非延续性动词,就要用for加一段时间
I have received his letter for two days.{错的}
I received his letter two days ago.{对的}
I have had his letter for two days.{对}
It is two days since I receive his letter.对