平和英语村
 
免费英语学习资料 > 英语语法 > 语法拾趣

英语的过去式和完成时老是混淆,到底有什么区别?

时间:2019-05-16 13:37:55  
来源:平和英语村  作者:Myron Chen

 image 60_副本_副本.jpg

 

 

其实两种英语时态没有那么复杂,可以用两句话说清楚。

 

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

 

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

 

举个

· 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 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.

这也是为什么可以用 By 5 PM, I'll have handed in my homework. 这句话的实际意思是,下午5点前我会把作业交了。而且我保证交作业的时候(比如4点)到5点这段时间,我不会偷回来,当然,这属于过度解读了,没有谁去在意这个区别(nuance)。和Before 5 PM, I will hand in my homework的区别在于,后者只保证5点之前把作业交了,不保证任何时候不偷回来(前者保证至少5点之前不偷回来,^_^)。

同样,现在我们已经完成了3个项目也不能说"We have finished 3 projects now",不符合逻辑,now要去掉。如果你一定要强调现在这个概念,可以用up to nowup to date(到目前为止),当然还有大家都熟悉的so far

· That's what I think. 

 

· That's what I thought.

 

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


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

 

不过有一个特例

 

比较下面的异同。

 

· 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没有这样的意思)


本文链接:https://www.pinghe.com/study/grammar/Englishgrammar/103818.html

※ 隐私声明
在线咨询
电话咨询