【英文時態系列 9】 – 完成進行式:現在完成進行式、過去完成進行式、未來完成進行式

本系列文章,由「 WORD UP 聰明學習 」編輯審核。聰明學習專注於利用 AI 提升亞洲人的語言學習效率。

文章目錄

英文的「完成進行式」是比較進階的時態,許多人常會困惑完成進行式和完成式的異同所在。

因此,本文特別整理了三種完成進行式的文法結構和使用情境,用簡單易懂的解說、清晰的時間軸圖解、有趣又實用的生活化例句,帶你一次搞懂各種完成進行式!

(學習完成進行式,要先具備完成式和進行式的基本概念,若對兩者仍不熟悉,建議先閱讀之前的文章「現在進行式」和「現在完成式」。)


完成進行式是什麼?

英文的時態,是「時間」和「狀態」的組合。強調的狀態有四種變化:簡單式、進行式、完成式、完成進行式。

「完成進行式」是完成式和進行式的融合。完成式的主要語意是「已經~」,進行式的主要語意為「正在持續~」,將兩者結合後,完成進行式表達「已經持續~」的意思。

搭配不同的時間組合,完成進行式又可分為三類:現在完成進行式、過去完成進行式、未來完成進行式。

以下針對這三種完成進行式,分別講解文法結構和用途。


現在完成進行式的文法結構和用途

I have been struggling for six hours.

我已經苦苦掙扎了六個小時。

My friends have been helping me to conquer the challenge.

我的朋友們一直在協助我克服挑戰。

The lunch choice has been bothering me since I got up.

早上起床後,「午餐要吃什麼?」就一直困擾著我。
從過去某個時間點開始,某個動作一直持續到了現在。

現在完成進行式的文法結構:S + have / has been Ving

現在完成進行式可表示「從過去到現在的持續動作」:動作發生於過去的某個時間點,且一直持續到說話的當下,就是「到現在為止,已經持續~」。

最精簡的結構下,完成式表示「已經~」,完成進行式則表示「已經持續~」,例如:

I have struggled.

我已經掙扎過了。

I have been struggling.

我一直在掙扎著。

現在完成式 I have struggled 強調「動作已經完成」,表示「有掙扎過」,但說話的當下已結束了。至於掙扎時間的長短、動作是否有連續性,並沒有表明。

現在完成進行式 I have been struggling 則強調「動作持續的狀態」,表示「持續掙扎」,到說話的當下都一直掙扎著,且未來有可能還會繼續。

在最基礎的結構下,現在完成式和現在完成進行式有明顯差異。不過,如果加上持續時間的描述,兩者就會十分相似,比如說:

I have struggled for six hours.

我已經掙扎了六個小時。

I have been struggling for six hours.

我已經掙扎了六個小時。

加上 for six hours 來描述動作的持續時間後,上列兩句話,無論是完成式或完成進行式,表達的其實是幾乎一樣的意思,都有傳遞出「我已經掙扎了六個小時」的基本資訊。

不過,和完成式相比,完成進行式更加強調「動作的持續性」,更能凸顯持續時間的長度。

所以,現在完成進行式 I have been struggling for six hours,更有一種「我已經掙扎了足足六個小時欸」的強調語氣。

此外,有時完成進行式也暗示「動作還會持續下去」。因此,如果要表達「動作從過去開始,持續到現在,且還會延續到未來」,就會使用現在完成進行式。

更多的例子:

We have been playing hide and seek for 30 years.

30 年以來,我們一直在玩捉迷藏的遊戲。

I have been searching with the most advanced GPS.

一直以來,我都帶著最先進的 GPS 在尋找。

My love has been hiding in the most remote place on Earth.

我的愛人一直躲在世界上最偏遠的地方。

過去完成進行式的文法結構和用途

When the World Cup final started, we had been waiting for an hour.

世界盃冠軍賽開打時,我們已經等一個小時了。

Before the first goal, I had been sleeping for 80 minutes.

第一顆進球之前,我已經睡了 80 分鐘。

When the match ended, my friends had been spraying champagne like crazy.

比賽結束時,我的朋友已經在狂噴香檳了。
動作從過去某個時間點開始,一直持續到另一個過去時間點。

過去完成進行式的文法結構:S + had been Ving

過去完成進行式可表示「過去某一時刻前的持續動作」:動作發生於過去的某個時間點,且一直持續到另一個過去的時間點,就是「到過去某一時刻為止,已經持續~」。

和上一節的說明類似,過去完成式和過去完成進行式,兩者加上持續時間的描述後,都可以傳達一樣的基本資訊。例如 I had slept for 80 minutesI had been sleeping for 80 minutes 這兩句話,都有表達「已經睡了 80 分鐘」的基本事實。

微妙的差別在於,過去完成進行式更凸顯「動作的持續性」,類似「那時已經持續睡了整整 80 分鐘了」的強調語氣。更多的例子:

When I got to the restaurant, my stomach had been rumbling for a long time.

抵達餐廳時,我的肚子已經咕嚕叫很久了。

When I found my wallet lost, I had been eating lobsters for two hours.

當我發現錢包不見的時候,我已經吃了兩小時的龍蝦大餐。

Before they let me go, I had been washing the dishes in the kitchen.

他們放我走之前,我一直都在廚房洗碗盤。

未來完成進行式的文法結構和用途

In September, I will have been doing a PhD for six years.

到了九月的時候,我就已經攻讀博士學位六年了。

Next weekend, I will have been writing my doctoral thesis for ten days.

到了下週末,我就已經寫了十天的畢業論文了。

My parents will have been praying to God for two years by then.

那時候,我的爸媽已經向神禱告兩年了。
動作從某一時間點開始,一直持續到某個未來的時間點。

未來完成進行式的文法結構:S + will have been Ving

未來完成進行式可表示「未來某一時刻前的持續動作」:動作發生於過去、現在或未來的某一時間點,且一直持續到未來的另一個時間點,就是「到未來某一時刻為止,已經持續~」。

和前兩節的說明相似,未來完成式和未來完成進行式,加上持續時間的描述後,都可以傳達一樣的基本資訊。

不過,這種用法在日常對話中其實並不常見。

未來完成進行式是鮮少被使用的時態,不僅是因為句型拗口,也因為未來變幻末測,能精確斷定「在未來的某一個時刻,將已經~多久了」的情形並不多。


延伸學習,Keep Going!

以上就是現在完成進行式、過去完成進行式、未來完成進行式的用法詳解,恭喜你全部學完啦!

本系列 9 篇英文時態教學文章,到此也告一段落了,常用的英文時態,你是否通通學會了呢?

再來回顧各種時態的精要總覽,一起徹底總複習吧!
英文時態總覽

*本系列教學文章,部分內容取材於「遇見說英文的自己・進階英文(上)」Jella! 線上課程。

來自美國波士頓的 Kyle 老師,以純正美式的全英文授課,帶你全面理解進階表達的必學語法。透過身歷其境的實境式教學,把豐富多樣的日常會話,和絕對道地的美式慣用語,毫無保留一次傳授,讓你不知不覺培養出「英文腦」,輕鬆面對各種場合,說出最符合你個性的英文!



近期熱門課程 ↗
更多精選文章 ↗