當前位置

首頁 > 英語學習 > 英語語法 > 現在完成進行時與現在完成時的區別

現在完成進行時與現在完成時的區別

推薦人: 來源: 閱讀: 2W 次

英語的現在完成進行時表示某動作從過去某個時間開始,一直延續到現在,並且還有可能持續下去。這個是大家在中學時期就知道的,今天,小編爲同學們帶來了相當豐富的與英語現在完成進行時的相關語法,一起來看看吧!

現在完成進行時與現在完成時的區別

 

1. 現在完成時強調動作的完成,而現在完成進行時強調動作的延續,因此,表示動作的完成,只能用現在完成時,而不能用現在完成進行時。如:

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

 

2. 在表示動作的延續時,雖然既可用現在完成時,也可用現在完成進行時,但現在完成進行時強調動作的進行。因此在需要明確表示動作還要持續下去時,應用現在完成進行時。如:

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

 

3. 在許多情況下,現在完成時表示動作已經完成,而現在完成進行時卻並非如此。如:

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

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

 

4. 有些靜態動詞只能用於現在完成時,一般不能用於現在完成進行時。如:

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

The war has lasted for a long time. 這場戰爭持續了很長時間。

 

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

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

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

 

6. 現在完成時與現在完成進行時的相通性:在表達一個從過去開始而現在仍在繼續或剛剛結束的動作時,

某些動詞既可以用現在完成時,也可以用現在完成進行時,如 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.

 

例題:Tom ______ in the library every night over the last three months.

A. works B. worked C. has been working D. had been working

分析:C。over the last three months 的意思是“在過去的三個月期間”,這類時間狀語通常通常與現在完成時或現在完成進行時連用,四個選項中只有C符合此要求。又如:

Food and drink culture in Britain is surely changing, has surely changed over the last two decades. 在英國,飲食文化肯定正在不斷地發生着改變,並且在過去二十年中肯定已發生過不少變化。

 

怎麼樣,看完了小編給大家準備的語法知識,有沒有感覺收穫頗多呢?喜歡就收藏起來吧~