現在完成時和現在完成進行時的區別大綱
現在完成時強調動作的完成,而現在完成進行時強調動作的延續,因此,表示動作的完成,只能用現在完成時,而不能用現在完成進行時。如:
He has changed his idea. 他改變了想法。
在表示動作的延續時,雖然既可用現在完成時,也可用現在完成進行時,但現在完成進行時強調動作的進行。因此在需要明確表示動作還要持續下去時,應用現在完成進行時。如:
We have been studying here for two years. 我們在這兒已經學習了兩年了。
在許多情況下,現在完成時表示動作已經完成,而現在完成進行時卻並非如此。如:
He has cleaned the window. 他把窗戶擦乾淨了。(動作已完成)
He has been cleaning the window. 他一直在擦窗戶。(動作不一定完成)
有些靜態動詞只能用於現在完成時,一般不能用於現在完成進行時。如:
I’ve known him for many years. 我認識他有許多年了。
The war has lasted for a long time. 這場戰爭持續了很長時間。
有少數動詞(如live, work, teach, study等)用兩種時態都可以,意思差別不大。如:
I’ve lived [been living] here for 30 years. 我在這兒住了30年了。
How long have you worked [been working] here? 你在這裏工作多久了?
現在完成時與現在完成進行時的相通性:在表達一個從過去開始而現在仍在繼續或剛剛結束的動作時,
某些動詞既可以用現在完成時,也可以用現在完成進行時,如 expect, hope, learn, lie, live, look, rain, sleep, sit, snow, stand, stay, study, teach, wait, want, work等。
如:你學習英語多久了?
正:How long have yon learnt English?
正:How long have you been learning English?
他已經睡了十個小時了。
正:He has slept for ten hours.
正:He has been sleeping for ten hours.