have been V-ing
現在完成進行式
The present perfect continuous — English grammar, senior high
接續
have/has been + V-ing 常和 for、since、all day 一起用
have / has been + verb-ing · often with for, since, all day
說明
強調一個動作從過去一直持續到現在(而且可能還在進行):I have been studying for three hours.(我已經讀了三個小時的書。)It has been raining since this morning.
For an activity that started in the past and is still going on (or has just stopped): I have been studying for three hours. It has been raining since this morning.
注意事項
- 強調「持續多久」用完成進行式,強調「完成了多少」用完成式:I've been writing emails all morning. / I've written ten emails.Stress the duration with the continuous, the result with the simple: I've been writing emails all morning / I've written ten emails.
- 狀態動詞(know、like、own)不用進行式:I've known her for years.State verbs aren't continuous: I've known her for years.
常見錯誤
- ✗ I am waiting here for an hour.
✓ I have been waiting here for an hour.
持續到現在的一段時間要用完成進行式。A duration up to now needs the perfect continuous. - ✗ She has been knowing him since 2019.
✓ She has known him since 2019.
know 是狀態動詞,不用進行式。know is a state verb.
例句
How long have you been learning English?
你學英文多久了?
My legs hurt. I've been walking all day.
我腿好痠,走了一整天。
They have been living in Taichung since 2015.
他們從 2015 年起就住在台中。
練習
在 Hanabiの小天地 聽例句的錄音、做 3 題練習,答對 2/3 就算學會,進度會記下來。
到網站練習這個文法 →