A 在表达一个在过去开始而现在仍在继续或刚刚结束的动作时,某些动词既可以用现在完成时,也可以用现在完成进行时。这样的动词有 expect,hope,learn,lie,live,look,rain,sleep,sit,snow,stand,stay,study,teach,wait,want,work 等:
How long have you learnt English?
你学习英语多久了?
How long have you been learning English?
(译文同上。)
He has slept for ten hours.
他已经睡了十个小时了。
He has been sleeping for ten hours.
(译文同上。)
It has snowed for a long time.
雪下了好长时间了。
It has been snowing for a long time.
(译文同上。)
没有进行式的动词不可能有这样的用法,即现在完成进行时不能代替以下例句中的现在完成时:
Theyve always had a big garden.
他们一直有一座大花园。
How long have you known that?
你知道这事多久了?
Hes been in hospital since his accident.
他从发生事故之后,一直在医院里。
注意:现在完成进行时可以和时间短语连用,也可以不连用,这一点就有别于现在完成时,因为后者与像for six days,since June,never等一些时间短语连用才能表示这类动作。不用这些时间状语时,现在完成时指的是完成了的一个动作。
【牛津实用英语语法:192 现在完成时的一般式与进行式的比较】相关文章:
★ 牛津实用英语语法:129 may和can用来表示现在或将来的许可
★ 牛津实用英语语法 55 who,whose等用做主语时后接肯定动词
★ 牛津实用英语语法:130 could或 was/were allowed to
最新
2016-02-29
2016-02-29
2016-02-29
2016-02-29
2016-02-29
2016-02-29