现在完成时与一般过去时的区别
现在完成时与一般过去时是中学英语中用法极为灵活的两种时态,它们属于不同时间的两种时态,现在完成时属于现在时态的范畴,而一般过去时属于过去时态的范畴。使用时应注意它们的区别:
1. 构成形式不同:
现在完成时的动词形式为:“have (has)+动词的过去分词”:而一般过去时的动词形式为:“动词的过去式”。例如:
Jack’s mother took him to school every day when he was in primary school.
杰克在小学时他妈妈每天送他上学。
Maria has never read any Chinese stories. 玛利亚从未读过中国故事。
2. 基本用法不同:
正如前面所说,现在完成时是与现在有关的时态,属现在时态的范畴,它侧重于过去的动作对现在造成的影响;而一般过去时是一种过去时态,侧重于表示过去的动作,与现在无关。 例如:
Yesterday I went to the zoo.昨天我去了动物园。(仅说明昨天去了动物园,与现在无关)
Li Lei has read the book. 李磊已看过那本书。(说明李磊了解那本书的内容)
另外,现在完成时还可以表示动作从过去某个时候开始一直延续到现在,强调动作的延续性它常与for及since引导的一段时间状语连用。例如:
He has lived here for ten years. 他已在这儿住了10年了。
比较:
1.) The Greens have worked in China since 1998.
格林一家自1998年到现在一直在中国工作。
The Greens worked in China in 1998.格林一家1998年在中国工作。
2.) He has lived in the country for a long time. 他在农村生活了很长时间。(现在还在农村)
He lived in the country for a long time before he came to town.
他进城前在农村生活了很长时间。
3.) She has bought a bicycle.她买了一辆自行车。(现在她有一辆自行车了。)
She bought a bicycle last year.去年她买了一辆自行车。
4.) He has won a prize for his invention.
他因为他的发明而获奖了。He also won a prize last year.他去年也获奖了。
注意:
在与for及since引导的一段时间状语连用时,句子的谓语动词必须是延续性动词,终止性动词不可和一段时间连用。例如:他当兵已三年了。
误:He has become a soldier for three years.
误:He joined the army for three years.
正:He has been a soldier for three years.
正:He has been in the army for three years.
1. 连用的时间状语不同
与现在完成时连用的时间状语除了上面所说明的由since和for引导的一段时间外还有:already, yet, still ,just, so far, in the last(past), before, ever, never等。而一般过去时则常与ago, yesterday, last, in 2000, just now等连用。
注意:现在完成时态不可与yesterday, last week, two days ago等之类的表示具体的过去时间的状语连用。例如:
Have you ever picked flowers or stepped on the grass in the park? 你曾在公园里摘过花或曾踩过草地吗?
Father bought that watch ten years ago.爸爸10年前买了那块手表。
I have never seen the film before. 我以前没有看过这部影片。
注意:在when引导的特殊疑问句中不可用现在完成时,而只可用一般过去时。例如:
When did you visit Japan? 你什么时候访问过日本?
参考资料:http://blog.sina.com.cn/s/blog_3e3ed3210100ak64.html