我們知道有「完成式」，也知道有「進行式」，但過去可能比較少接觸到「完成進行式」，其實概念並不複雜喔！
完成進行式就是「完成式」與「進行式」的組合。進行式是表示「某動作在某段時間內持續進行」，而完成式則表示「到某時間點為止已經做了某事」。因此完成進行式就是用來強調「在某段時間前一直持續的動作」，結構是「have + been + 現在分詞（V-ing）」。
現在，我們就分別來看看現在完成進行式、過去完成進行式，以及未來完成進行式的用法。
表示某行為從過去到現在一直持續著。例如：現在是晚餐時間，到目前為止 Ken 已經持續閱讀了兩個小時。
→ 表示 Ken 從兩個小時前就一直在閱讀，直到現在說話的當下仍在閱讀。
在過去某事件前，更早的另一個行為已持續進行了一段時間，且該行為在那時仍持續進行中。例如：晚餐時間已經過了，Ken 在晚餐前兩小時就開始看小說，到開飯時已經看了兩小時。
→ 表示 Ken 從晚餐前兩個小時就一直在閱讀，在媽媽叫他吃晚餐的當下也還在閱讀。
表示過去的行為，持續到現在，並將延伸到未來某一時刻。例如：晚餐時間還沒到，Ken 在晚餐前兩小時就開始閱讀，預計到開飯時，Ken 至少會閱讀兩小時。
→ 表示預計 Ken 在晚餐前會持續閱讀兩個小時。
完成進行式強調「歷時長度」，所以經常會用在「How long...」的句型中哦。例如：