?

現(xiàn)在完成時強調(diào)動作的完成,而現(xiàn)在完成進行時強調(diào)動作的延續(xù),因此,表示動作的完成,只能用現(xiàn)在完成時,而不能用現(xiàn)在完成進行時。如:

He has changed his idea. 他改變了想法。

?

在表示動作的延續(xù)時,雖然既可用現(xiàn)在完成時,也可用現(xiàn)在完成進行時,但現(xiàn)在完成進行時強調(diào)動作的進行。因此在需要明確表示動作還要持續(xù)下去時,應用現(xiàn)在完成進行時。如:

We have been studying here for two years. 我們在這兒已經(jīng)學習了兩年了。

?

在許多情況下,現(xiàn)在完成時表示動作已經(jīng)完成,而現(xiàn)在完成進行時卻并非如此。如:

He has cleaned the window. 他把窗戶擦干凈了。(動作已完成)

He has been cleaning the window. 他一直在擦窗戶。(動作不一定完成)

?

有些靜態(tài)動詞只能用于現(xiàn)在完成時,一般不能用于現(xiàn)在完成進行時。如:

I’ve known him for many years. 我認識他有許多年了。

The war has lasted for a long time. 這場戰(zhàn)爭持續(xù)了很長時間。

?

有少數(shù)動詞(如live, work, teach, study等)用兩種時態(tài)都可以,意思差別不大。如:

I’ve lived [been living] here for 30 years. 我在這兒住了30年了。

How long have you worked [been working] here? 你在這里工作多久了?

?

現(xiàn)在完成時與現(xiàn)在完成進行時的相通性:在表達一個從過去開始而現(xiàn)在仍在繼續(xù)或剛剛結(jié)束的動作時,

某些動詞既可以用現(xiàn)在完成時,也可以用現(xiàn)在完成進行時,如 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?

他已經(jīng)睡了十個小時了。

正:He has slept for ten hours.

正:He has been sleeping for ten hours.

?