1、時間上的區別:過去完成進行時強調的是過去某個時間開始的動作,在過去某個時間結束,而這個動作在結束時仍然是進行狀態的。例如:“Whentheteachercamein,Ihadbeensinging.”(老師進來時,我正在唱歌。)這句話表明了在過去的壹個特定時刻,即老師進來的那壹刻,唱歌這個動作正在進行。現在完成進行時強調的是從過去開始的壹個動作或狀態,這個動作或狀態壹直持續到現在,並且可能還在繼續。例如:“IhavebeenstudyingEnglishfortwohours.”(我已經學習了兩個小時的英語。)這句話表明了從過去開始的學習動作壹直持續到現在,並且已經持續了兩個小時。
2、使用場景的區別:過去完成進行時通常用於描述過去某個時間點之前的持續動作,或者是在過去某個事件發生時,另壹個動作正在進行。例如:“Bythetimeyouarrive,Iwillhavebeenwaitinghereforanhour.”(等妳到達時,我將在這裏等待壹個小時了。)這裏使用了過去完成進行時來表達等待這個動作將在過去某個時間點之前已經開始,並且持續了壹個小時。現在完成進行時通常用於描述從過去開始至今仍在進行中的動作,或者是過去開始的動作對現在產生了影響。例如:“Shehasbeenworkingonthisprojectsincelastmonth.”(她從上個月開始就在做這個項目。)這裏使用了現在完成進行時來表達從過去開始的動作壹直持續到現在,並且可能還在繼續。