Unit 10 American literature (Grammar)
it has been raining,but it has just stopped now.天一直下雨,剛停。
▲有時現在完成進行時不是指某動作一直在不停地進行,而是表示一直到說話時的一段時間內一直重復的動作,常常有感情色彩。如:
he has been calling on her several times this week.他這個星期幾次來看她。
we’ve been having a lot of rain recently.最近雨水很多。
▲有時現在完成進行時表示“剛才”或“近來”發生的動作,也就表示直到說話時為止的一段時間內發生的動作。這一動作到說話時已經結束,而且不再繼續下去。這種用法主要表示某一動作所產生的結果或對現在的影響。如:
you have been cleaning the classroom.i think.
我想你剛才在打掃教室吧!(言外之意:your clothes are covered with dust.)
the boy has been playing with toys.
那男孩一直在玩玩具。(言外之意:there are toys hare and there on the noor.)
her eyes are red.she has been crying.她眼睛紅了,她一直在哭。
【注】現在完成進行時和現在完成時的比較:
這兩個動作都表示“從過去開始一直持續到現在”的動作,有時可換用,但現在完成時著重動作的結果,而現在完成進行時著重表示動作的未完成,強調動作的持續性。如:
i have been reading the book.
我一直在讀這本書。(強調動作的持續性)
i have read the book.我讀過這本書了。(強調動作的結果)
who has been drink my wine?誰喝了我的酒?(已喝掉)
who has been drinking my wine?誰喝我的酒來著?(被喝掉一些)
【注】不用進行時態的動詞。感官動詞等不可用現在完成時或進行時,但可用其現在完成時。如:
i have known him since i was a child.我從孩子時起就認識他了。
i haven’t seen him for a long time.我很久沒見過他了。
▲過去完成時
表示在過去某時間之前已經發生或存在的狀態。
when i rang,mary had already gone to work.我打電話時瑪麗已經上班了。
by dusk,the news had spread through the town.到黃昏,消息已傳遍全鎮。
the room was dirty.i hadn’t cleaned it for weeks.房間很臟,我已幾個星期沒打掃了。
▲過去完成時還可表示過去某一時間發生的動作或狀態一直延續到某個時候,并可能繼續下去,常用for或since或by引導時間狀語。如:
she had lived in the south for three years before she came here.她來這兒之前,在南方住了三年。
by the end of last month,i had studied in the college for two years.
到上月底,我在這所學院已學習兩年了。
【注】表示過去的兩個動作緊接著發生,可不用過去完成時,而用一般過去時,常見于as soon as,before,after,immediately,instantly,the moment等引導的帶有時間狀語從句的復合句中。如:
i loved you the moment i saw you.我一見到你就愛上你了。
immediately she entered,his eyes lit up.她一進來他的眼睛就亮了起來。
directly i walked in the door i smelt smoke.我一進門就聞到煙味。
【注】某些表示意愿、希望、打算、意圖等的動詞,其過去完成時表示本打算做而未做的事,這些動詞是:think,suppose,plan,want,intend,mean等。