skip to Main Content

現在完成進行式的形式

現在完成進的行式:have/has been + 動詞-ing

肯定句:I have been working.

否定句:I have not been working.

疑問句:Have you been working?

簡短回答:Yes, I have./No, I have not. (haven’t)

現在完成進行式的用法

現在完成進行式加上動作動詞(動態動詞)說明在過去發生的狀況到現在尚未結束或是正好結束。

Has he been attending driving classes? 他上過駕駛課嗎?
I’m busy. I’ve been writing a novel. 我很忙。 我一直在寫小說。

現在完成進行式可以用來說明從過去持續或重複到現在的行為或情境。

He‘s been calling you for days. 他這幾天一直在給你打電話。 (表示他這幾天一直重複打電話這個動作)
I have been driving since early in the morning. 我從一大早就開始開車。 (表示我一直在不停地做開車這個動作。)

搭配 for, since, how long, lately, all day/week/month/etc 可以用來詢問或是說明某個情況發生了多長時間。

I have been wearing this shirt since yesterday. 從昨天開始我就一直穿著這件襯衫。
She has been playing a lot lately. 他最近一直在玩
He’s been eating all day. 他一整天都在吃東西。
How long have you been living in Europe? 你在歐洲生活多久了?

使用現在完成式 or 現在完成進行式?

過去開始到現在仍然持續的情況

現在完成式和現在完成進行式都可以說明在過去開始的情況到現在仍然持續。但是現在完成式要搭配非動作動詞(靜態動詞),而現在完成進行式要搭配動態動詞(儘管現在完成式也是有可能的)。

 I have had this house for years. 我已經擁有這所房子很多年了。
I have been watching this show all day. 我整天都在看這個節目。

對於過去開始到現在仍在持續的情況,且想強調這種情況持續了多長時間時,我們可以用現在完成進行式搭配動態動詞。

She has been sleeping for hours. 她已經睡了好幾個小時了。
I couldn’t clean the house. I’ve been working all day. 我無法打掃房子。 我整天都在工作。

完成和未完成的行為

現在完成式表達在過去已完成的行為但並未說明是何時完成的。現在完成進行式表達某行為或情境可能尚未完成也可能(最近)已經完成。

Who has eaten my cakes? 誰吃了我的蛋糕? (此時沒蛋糕剩下的情況下,我們常會這樣說。這個動作結束了)
Who has been eating my cakes?  誰一直在吃我的蛋糕?(此時還有蛋糕剩下的情況下,我們會這樣說)

I’ve been writing the report as you requested. I’ll let you know once done. 我一直按照你的要求寫報告。 完成後我會告訴你的。
I’ve written the report as you requested. I finished it yesterday. 我已經按照你的要求寫了報告。 我昨天完成了。

產生現在結果的行為

現在完成式和現在完成進行式可以表達有產生現在結果的行為。若是現在的結果是起因於某行為的完成,則要用現在完成式。

Look how nice my motorcycle. I‘ve washed it. 看我的摩托車多漂亮。 我已經洗過了。 (=摩托車看起來不錯,是因為我已經洗完了。)
You look like you’re feeling good today. Have you attended the concert? 你今天看起來心情很好。 你參加過演唱會嗎? (=你今天看起來心情很好,是因為你已經完成了參加音樂會的行為。)

如果現在的結果來自做動作的過程,則用現在完成式。

I’m so tired. I’ve been playing basketball with my friends.我好累。 我一直在和我的朋友們打籃球。 (=因為打籃球涉及的體力活動,所以我很累。)
How come you are late today? Have you been waiting for the bus? 你今天怎麼遲到了? 你一直在等公共汽車嗎? (=因為等待的過程,你遲到了。)

發生多久 how long vs 完成多少 how many/much

我們用現在完成進行式來說明某行為發生了多久,即這件事做了多久的時間。我們用現在完成式來說明我們完成了多少事情。

I’ve watched fifteen movies. 我看過十五部電影。 (表示我在談論的是我看過多少部電影。)
I’ve been watching movies for 2 hours.我已經看電影2個小時了。 (表示我談論的是我花了多少時間看電影。)

現在完成進行式 – 練習題

 

Comments

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

Back To Top