預約課程還可獲贈免費的學習復習診斷
對于初接觸現(xiàn)在完成時的人來說,往往會產(chǎn)生一種茫然,因為它似乎與一般過去時相似。那就是,這兩種時態(tài)描述的動作都始于過去。其實不然,現(xiàn)在完成時主要表示,發(fā)生在過去的動作延續(xù)到現(xiàn)在剛剛完成、或許還要延續(xù);側(cè)重于這個動作對現(xiàn)在帶來的結(jié)果、產(chǎn)生的影響、積累的總和等等。而一般過去時則只不過是表示動作發(fā)生在過去的什么時候。弄清了這一區(qū)別,就很容易理解現(xiàn)在完成時了。它主要適用于下面的幾種情況:
1)表示截止現(xiàn)在業(yè)已完成的動作
By now, I have collected all the data that I need 。到現(xiàn)在為止,我已收集到了我所需的全部資料。
She has read 150 pages today 。她今天已看了150頁。
We haven't met for many years 。我們已多年沒見了。
They have developed a new product 。他們研制成功了一種新產(chǎn)品。
2)表示發(fā)生在過去而對現(xiàn)在產(chǎn)生影響、帶來結(jié)果的動作
Have you had your dinner? 你吃晚飯了嗎?
She has been to the United States. 她已去美國了。
You have grown much taller。你長高了許多。
3)表示過去發(fā)生的動作持續(xù)到現(xiàn)在,并可能還要延續(xù)
It has been five years since he joined the army 。他參軍五年了。
They have learned English for eight years 。他們已學了八年的英語了。
So far we've only discussed the first five chapters。至今我們還只討論了前五章。
幾點注意
1)一個句子應該用什么時態(tài)只能取決于它需要表達的意思,以及它所處的語言環(huán)境。例如:
He speaks English 。(一般現(xiàn)在時,說明動作發(fā)生的經(jīng)常性。)
He spoke English when he was in New Zealand 。(一般過去時,說明動作發(fā)生的時間。)
He is speaking English。(現(xiàn)在進行時,說明動作正在進行。)
He has spoken English for three years since he came to the USA。(現(xiàn)在完成時,這里說明動作的總和。)
He has been speaking English since he came to the USA. (現(xiàn)在完成進行時,強調(diào)動作的連續(xù)性。)
2)在含有時間狀語從句或條件狀語從句的主從復合句中,如果主句的謂語動詞是一般將來時,那么從句的謂語動詞就只能用一般現(xiàn)在時來表示將來時;如果主句的謂語動詞是過去將來時,那么從句的謂語動詞就只能用一般過去時來表示過去將來時。
例如:I will not play tennis if it rains tomorrow。
I would not play tennis if it rained the next day。
3) 有些動詞表示無法持續(xù)的動作,它們一般不宜用于進行時態(tài)中。這類動詞常見的有:be , believe , consist , find , forget , hate , have , hope , hear , know , like , love , notice , prefer , remember , see , seem , smell , suggest , taste , understand , want , wish , sit down , stand up 等等。
Be動詞若是用于進行時態(tài),可表示暫時、短暫的情況或表現(xiàn)。例如:
Tom is being a good boy today 。湯姆今天很乖。
He is being childish 。他這樣做是耍孩子氣。
You are not being modest 。你這樣說不太謙虛。
4)關于現(xiàn)在完成時的時間狀語問題
A. 凡是"完成時態(tài)"都表示,不知道也不管動作發(fā)生的具體時間, 所以在使用現(xiàn)在完成時的句子里,不可以帶有表示具體過去時間的狀語,如:yesterday , last week ( month , year , etc. ) , two weeks ago , in 1999等;但常和有些副詞連用,如: just , before , already , often , never , ever , not…yet , always等等。
B. 在以when提問的特殊疑問中不能用現(xiàn)在完成時。另外,ago不能用于現(xiàn)在完成時的句子里,因為它表示從現(xiàn)在算起的以前某個時間,屬于表示具體過去時間的狀語。但是可以用before 來表示"以前"的意義,因為它只表示"以前",而不知什么時候的以前。
C. 如果是不表示連續(xù)性的動詞用于現(xiàn)在完成時的句子,不可以和以for表示的"一段時間"的狀語連用。在這種情況下,應該用"It has been … ;since…"的句式來表達。如:
He has joined the army for five years. (錯誤)
It has been five years since he joined the army。(正確)
預約課程還可獲贈免費的學習復習診斷