簡單來講,現在完成式表達已經完成的事情,現在完成進行式表達仍然在進行的事情。這兩個時態的三大差異搞清楚,你的文法觀念就不會錯,之後面對英文閱讀或聽力,也能夠馬上分析句型,理解文意。
觀念釐清
現在完成式:has/have + 過去分詞(或稱 p.p.)
- I have read the book three times.
現在完成進行式:has/have + been + 現在分詞(或稱 Ving)
- I have been reading the book for three hours.
現在完成式 vs. 現在完成進行式三大差別
一、數量、時間長短
如果表示數量,用現在完成式
- I've read ten books this year.
- I've seen three movies this week.
如果表示一段時間,用現在完成進行式
- I’ve been reading for five hours.
- I’ve been running for thirty minutes.
二、完成、正在進行的動作
動作已經完成,用現在完成式。
- I’ve read the book you recommended.(書讀完了)
- I've written the report.(報告寫完了)
動作還在進行,用現在完成進行式。
- I’ve been reading the book you recommended.(書還在讀)
- I've been writing the report.(報告還在寫)
如果你眼尖,看到這邊可能會問現在完成式 I've written the report. 跟簡單過去式 I wrote the report. 有什麼差別?答案,沒什麼差別。
很多人會誤以為每個時態都有固定使用時機,某個情況得用這個時態,否則就錯。其實,很多文法規則不是非 A 即 B,而是有重疊。同一個句子寫 I've written the report 或是 I wrote the report. 意思完全一樣。
三、短暫非永恆的事件
- I’ve been sleeping badly.
- I’ve been having a headache.
- I’ve been getting up early to run.
只要你看到這種句子,表示這些事件是最近才開始的,最近才開始睡不好;最近才開始頭痛;最近才開始早起跑步。
例外
雖然前面說「表示時間」用現在完成進行式,但遇到例外就像遇到鬼牌,拿它沒辦法,只能記起來。這兩個單字 live, work,無論用現在完成式或現在完成進行式,語意完全一樣。
live
- How long have you lived in Taiwan?
- How long have you been living in Taiwan?
work
- I have worked at this company for ten years.
- I have been working at this company for ten years.
小考:現在完成式、現在完成進行式
- I (study) _____________ for two hours.
- Jack (teach) _____________ here for twenty years.
- The telephone (ring) _____________ five times.
- The telephone (ring) _____________ for thirty minutes.
- Jack (make) _____________ three mistakes this month.
解答
- have been studying
「描述時間」用現在完成進行式 - has been teaching
「描述時間」用現在完成進行式 - has rung
「描述次數」用現在完成式 - has been ringing
「描述時間」用現在完成進行式 - has made
「描述次數」用現在完成式
不要死背單字,用系統化的方式學英文。
輸入 email 訂閱電子報,讓你突破英文瓶頸。
- 包含初級、進階必學單字,按照自己的程度學習。
- 跟著文章學重要句型,讓你講話不再只是講單字。
- 列出台灣人易搞混的文法,讓你一次理解。