過去完成時和過去完成進行時都表示過去的動作,但是它們的用法和格式有很大不同。
一、過去完成時描述一件發生在過去且在過去完成的動作,更重要的是它表明在過去一件事發生在另一件事之前,格式為 had + 動詞的過去分詞,例如:
He had saved the document before the computer crashed.
他在電腦死機前保存了文件。
解析:此句有 crashed 和 saved 兩個過去動作,saved 發生在 crashed 之前,且動作已經完成,所以 saved 用過去完成時。
He had cooked breakfast when I got up.
我起床時他做了早餐。
解析:此句有 got up 和 cooked 兩個過去動作,cooked 發生在 got up 之前,且動作已經完成,所以 cooked 用過去完成時。
I recognized her because I had seen her on TV.
我認出她是因為我在電視上見過她。
解析:此句有 recognized 和 seen 兩個過去動作,seen 發生在 recognized 之前,且動作已經完成,所以 seen 用過去完成時。
He had lost consciousness by the time the ambulance reached the hospital.
當救護車到達醫院時,他已經失去了知覺。
解析:此句有 reached 和 lost 兩個過去動作,lost 發生在 reached 之前,且動作已經完成,所以 lost 用過去完成時。
二、過去完成進行時描述一件發生在過去且一直持續到過去的某個時間的動作,只能用延續性動詞,格式為:had + been + 動詞的現在分詞形式,例如:
She had been waiting for more than one hour when her friends finally arrived.
她等了一個多小時,朋友們終於來了。
解析:此句有 arrived 和 waiting 兩個過去動作,waiting 發生在 arrived 之前,且 waiting 一直持續到 arrived 這個動作,所以 waiting 用過去完成進行時。
It had been raining for several hours, and the streets were slippery.
雨下了幾個小時,街道很滑。
解析:此句有 were 和 raining 兩個過去動作,raining 發生在 were 之前,且 raining 一直持續到 were 這個動作,所以 raining 用過去完成進行時。
My parents had been thinking of calling the police when I finally went home around 2 am.
當我終於在凌晨2點左右回家時,我父母一直在考慮報警。
解析:此句有 went 和 thinking 兩個過去動作,thinking 發生在 went 之前,且 thinking 一直持續到 went 這個動作,所以 thinking 用過去完成進行時。
Jamie had lost weight because she had been skipping meals.
傑米瘦了是因為她一直不吃飯。
解析:此句有 had lost 和 skipping 兩個過去動作,slipping 發生在 had lost 之前,且 skipping 一直持續到 had lost 這個動作,所以 slipping 用過去完成進行時。
過去完成進行時還可以表示過去反覆的動作,例如:
He had been studying all day.
他學習了一整天。
You had been giving me everything.
你對我真是有求必應。
He had been mentioning your name to me.
他一直在跟我提你的名字。