Q:I’ve lived here for three years. 和 I’ve been living here for three years. 有何不同呢?

A:這問題中的第一句是現在完成式 (present perfect),而第二句是現在完成進行式 (present perfect progressive)。現在完成式主要是強調在過去某一不確定時間已完成但與現在仍有關連的動作,如 The author has written three books. (這位作家已寫了三本書)。現在完成進行式則是在強調「最近性」,所以它經常與 recently 或 lately 連用,如 She has been working hard recently. (她最近一直努力地工作)。

這兩者的另一項差異是,現在完成進行式可以用來表示最近完成的動作產生現在的結果或對現在造成的影響,但現在完成式則沒有這樣的用法,如 I have been working in the garden, and that’s why my hands are so dirty. (我一直在花園工作,那就是我的雙手很髒的原因 — 最近完成的動作產生現在的結果)。不過,這兩者都可用來表示動作持續到目前為止的時間,如 Peter has worked for that company for five years. (彼得已在那家公司工作五年);John has been painting for four hours. (約翰已作畫四個鐘頭)。

上述都是一般文法書所敘述的現在完成式和現在完成進行式的用法及它們之間的差異,在此不想著墨太多。然而,藉著這問題正好可以補充兩項在一般文法書看不到的用法或差異。

第一項正好回答這問題。如果完成式中的動詞是有關「居住」、「工作」或「職業」方面的動詞,那麼現在完成式和現在完成進行式的意思是一樣的。所以,I’ve lived here for three years. 和 I’ve been living here for three years. (我已住在這裡三年) 的意思並無二致,而上面的 Peter has worked for that company for five years. 也可寫成 Peter has been working for that company for five years.。

第二項也可說是這兩者之間另一非常重要的差異。當要表達已完成的數量時,要使用現在完成式,不可使用現在完成進行式 — 後者是在強調動作持續的時間。下面就是說明這項差異的例句:

  • He’s driven 320 kilometers. (他開車已開了 320 公里)
  • He’s been driving for 6 hours. (他開車已開了 6 個小時)
將本文加入書籤.

發表迴響