現(xiàn)在完成進行時的結(jié)構:have/has been doing
過去完成進行時的結(jié)構:had been doing
現(xiàn)在完成進行時的用法1:與一段時間連用,表示過去的動作持續(xù)到現(xiàn)在,并且還將繼續(xù)持續(xù)下去。
例句:It has been snowing for almost 2 days.下了兩天的雪(可能現(xiàn)在還在下)
過去完成進行時的用法1:強調(diào)到過去為止,某一活動或動作一直在持續(xù),可能仍然持續(xù)下去。
例句:It had been snowing for 2 days when I arrived in Hei Longjiang.
當我到黑龍江的時候,下了兩天的雪了。(可能當時仍然還在下雪)

現(xiàn)在完成進行時用法1

過去完成進行時用法1
現(xiàn)在完成進行時的用法2:表示開始于過去的動作持續(xù)到現(xiàn)在為止不再持續(xù),或者剛剛結(jié)束的動作。
例句:I am sorry. I am late. Having you been waiting long?
我很抱歉。我來晚了。你等了很久吧?(現(xiàn)在已經(jīng)不再等待了)
過去完成進行時的用法2:強調(diào)過去的某一活動或者時間之前一直在持續(xù)的動作到過去的時間為止,或者在過去時間剛剛結(jié)束。
例句:When she arrived, I had been waiting for 2 hours.
當她到的時候,我已經(jīng)等了兩個小時了。(當她到的時候不再等待了)

現(xiàn)在完成進行時用法2

過去完成進行時用法2
現(xiàn)在完成進行時的用法3:表示重復發(fā)生的動作——就是說話時間以前一段時間內(nèi)重復發(fā)生的動作。
例句: I have been getting up early since I entered the No.1 Middle School.
自從我上第一中學之后,我一直早起。
過去完成進行時的用法3:表示重復發(fā)生的動作——就是表示過去每一活動或者時間之前一段時間內(nèi)重復發(fā)生的動作。
例句:I had been trying to call her on the phone. Finally she gave me a call.
我一直試圖給她打電話,最后她給我打了電話。

但是注意,重復的動作不能說出具體次數(shù)。
比如:I had been trying six times to call her on the phone.這樣是錯誤的。
可以這樣表達:I had tried six times to call her on the phone.
你了解了嗎?