过去式和完成时到底有什么区别

  很多人困惑于英语语法中过去式和完成时的区别,其实,可以概括为:


  一般过去式:表示过去某个时候发生的动作,至于现在发生了什么,不知道;

  现在完成时:表示过去发了某件事,而且现在这个动作的结果还保持在现在。


  举个栗子

  He cleaned the house(他过去某时打扫了房间,至于后来是不是又把房间糟蹋了,不知道)

  He has cleaned the house(他把房间打扫干净了,而且房子到说话的时候,还是干净的)

  再举个栗子

  I handed in the homework(我交了作业,至于后来我有没把作业有偷走,不负责)

  I have handed in the homework(我交了作业,作业还是在老师那里)

  日常沟通中,你完全可以用过去式代替完成时,意思没太多区别,没人去纠结这个差异,除非你特别想强调到说话这个时候还是这个状况。

  I solved the problem

  I have solved the problem

  这两种表达都可以,第一种其实稍微常见一点。第二种略带强调,我解决了这个问题,而且到现在,问题没再次发生过。


  比较下面的异同。

  I have believed you are the most amazing girl I have met. 我一直相信,你是我今生的挚爱。

  I believe you are the most amazing girl I have met.我相信,你是我的挚爱。

  I believed you were the most amazing girl I had met. 我曾经以为,你是我的挚爱。

  用完成时,强调你从一开始到现在,都一直相信这件事。


  用现在时,就是很普通,淡淡的表示我现在是这么觉得(不强调过去一直都认为)。用过去式,表示我过去相信是这样。(believe这个词是个特例,用过去式表示和现在相反,其他词比如think没有这样的意思,看下面的例子)

  That's what I think. 

  That's what I thought.

  两者的意思几乎差不多,表示“这就是我的看法”。后者用thought代表过去我是这样认为,但不代表现在刚好相反,是客观陈述我过去的看法,现在的看法如何,未知,其实就是说话给自己留一个余地,委婉一点,不需要理解成”以为“。

  比如I was wondering, I was thinking, 都是委婉的说法,都可以理解为“我(现在)想知道”、“我(现在)在想”。

  为什么不可以说I have finished my work yesterday(我昨天就已经把我的工作完成了)呢?


  从理论上怎么理解呢?

  have finished my work 表示从工作完成到说话时这个时间段,工作状况都是finished(没有因为其他问题需要重新做)。如果加一个具体的时间点yesterday,逻辑上说不通,因为现在完成时已经隐藏了就是到说话时候为止的状况,加个yesterday不知道到底什么意思。不如直接用过去式I finished my work yesterday。当然有人说可以I had finished my work by yesterday,这个语法是没错,但是属于强套语法,实际没有人说这么奇怪的话。


  这也是为什么用since就可以,因为表示过去某个时间点开始到现在。The quality has been good since the start of production.

  这也是为什么可以用in the past 10 years也可以,因为表示从现在开始往后倒推10年一直到说话这个时间点。经典例句Great changes have taken place in China in the past 10 years.


  现在,你能一眼分清过去式和完成时了吧?

  
安安老师为您分析外教一对一英语培训哪家好以及师资水平收费价格、推荐在线英语培训机构师资力量

上一篇:儿童该如何正确有效学习英语 下一篇:英语写作中最容易犯的错误

发表评论