「現在完成進行式」與「現在完成式」兩者同樣表示從過去的某時間點起到目前為止已完成或持續的動作或狀態。但現在完成式強調動作的「完成」,而現在完成進行式則強調動作在說話的當下仍「持續進行狀態」,通常主要動詞為「動作動詞」,表示到目前為止依舊持續的動作。
現在完成進行式的動詞由「 have/has + been + V-ing」所構成,即現在完成 +進行式。
現在完成進行式的動詞中,最前面的have為助動詞,第三人稱單數為has,並可直接在其後加上not否定詞,只需要直接修改have/has即可形成否定句或疑問句。
since + 過去式子句 / 時間點 (自從~開始): 通常放在現在完成式的句子後,偶爾在前。
She has been cleaning the kitchen since this morning.
She has been cleaning the kitchen since 4 hours ago.
They have been cleaning the living room since they got home this evening.
for + 一段時間 (持續了~多長的時間): 通常放在現在完成式的句子後,偶爾在前。
She has been cleaning the kitchen for 4 hours.
They have been planting flowers for 3 days.
How long ~(多久~): 常用的疑問詞,詢問該動作或狀態到目前為止持續多久了。
A: How long have you been watching TV?
B: I have been watching TV for 30 minutes.
句子中如果有頻率副詞,須與完成式連用,非現在完成進行式。
例句
I have been watching the movie twice. (X)
I have watched the movie twice. (O)
現在分詞 (V-ing)的字尾需注意變化。
例句
The child has been siting there for two hours. (X)
The child has been sitting there for two hours. (O)
有些表示狀態或感官認知的動詞 如 like, love, know, believe, have, want, see, hear,…等,不使用進行式。
例句
I have been knowing him for 10 years. (X)
I have known him for 10 years. (O)
完成式中的過去分詞,有一些是不規則變化。
例句
Debbie has readed the book three times. (X)
Debbie has read the book three times. (O)
根據前後文,如強調動作還在進行中,應使用現在完成進行式,非現在完成式。
例句
Jim’s hands are very dirty. He has fixed the car. (X)
Jim’s hands are very dirty. He has been fixing the car. (O)