has been doing一般用來表示現(xiàn)在完成進行時。現(xiàn)在完成進行時的結構是“I/we/you/they have been doing sth.”、“he/she/it has been doing sth.”。表示從過去某時開始一直持續(xù)到現(xiàn)在的動作,并且還將持續(xù)下去。
1.表示從過去某時開始一直持續(xù)到現(xiàn)在的動作,并且還將持續(xù)下去。
(1)The Chinese have been making paper for two thousand years.
中國有2000年的造紙歷史。(動作還將繼續(xù)下去)
(2)I have been learning English since three years ago.
自從三年前以來我一直在學英語。(動作還將繼續(xù)下去)
2.表示在說話時刻之前到現(xiàn)在正在進行的動作。
We have been waiting for you for half an hour.
我們已經等你半個鐘頭了。(人還沒到,如同在電話里說的,還會繼續(xù)等)
3.有些現(xiàn)在完成進行時的句子等同于現(xiàn)在完成時的句子。
(1)They have been living in this city for ten years.
They have lived in this city for ten years.
他們在這個城市已經住了10年了。
(2)I have been working here for five years.
I have worked here for five years.
我在這里已經工作五年了。
4.大多數(shù)現(xiàn)在完成進行時的句子不等同于現(xiàn)在完成時的句子。
(1)I have been writing a book.(動作還將繼續(xù)下去)
我一直在寫一本書。
I have written a book.(動作已經完成)
我已經寫了一本書。
(2)They have been building a bridge.
他們一直在造一座橋。
They have built a bridge.
他們造了一座橋。
5.表示狀態(tài)的動詞不能用于現(xiàn)在完成進行時。
(1)I have known him for years.
我認識他已經好幾年了。
I have been knowing...(沒有這種說法)
這類不能用于現(xiàn)在完成進行時的動詞還有:love愛,like喜歡,hate討厭等。