英语语法中,一般过去时态与现在完成时态到底有什么区别?

英语语法中,一般过去时态与现在完成时态到底有什么区别?

**本人一些对于学英语的观点:我不赞成学英语在没有特别扎实的基础或者有过想要表达却不满足现有已熟练掌握的简单表达下而不知道如何进行一种高级表达的情况下去研究语法公式,以及尝试记下所有公式往里面套参数式的说英语,这其实非常的生硬和无效(简单句和带有一切一般头衔的时态的表达是可以达到高级语法时态想要实现的结果的,高级语法只不过是一个高效率的快捷方式而已,但局限性却特别大,熟练而恰当的使用它们是你在很多出国考试中能否拿高分的关键因素,但却不是你能否用英语完整表达出自己观点的因素,简单句和一般时态才是)。退一万步说就算把所有公式没有bug的录入脑中,在使用的时候你永远还是会碰到拿不准该用什么时态的情况(实际情况中,非母语使用者英语再好,教给你的公式里还是存在许多bug的。所以建议有条件可以直接去向母语使用者提问,已经到了国外并刚开始学习语言的同学们可以多向老师提问,平时自己也可以在youtube上随时搜到大量更加精确的母语者做的讲解视频)。所以英语有效的学习必然是在有过简单最基础的输入之后开始进行的输出过程中进行的学习,从而掌握更高级的表达和更多的单词的。一切都是基于使用意愿和冲动的学习才能够被牢固掌握以及举一反三,否则只是事倍功半,看了一天语法公式感觉自己能上天,一觉睡醒或者出去见着人后脑子里还是一团浆糊,并且。。掌握的公式越多就越不敢说越不自信 - 在学语言的那段时期你看看那些班上最敢说的是不是都是只会最简单表达的那些同学,但却是非常的有效。。而那些精心学习了各种语法公式后觉得随便输入几个参数就能讲话更高级的同学通常是觉得想说什么但是到了嘴边拿不准或者说着说着自己全都乱的境遇。。**

->关于现在完成时的所有你需要知道的知识和与一般过去时的对比(Youtube)<-

(update:以上链接里的一组视频很值得一看*来源:youtube*,大体上可以在10-15分钟内解决你关于一般过去时和现在完成时现实使用中的所有问题,并且覆盖了一些英语老师可能都不知道的点。)

--------------------------------------30/07/2017 updated

原文内容太多,也懒得去整体改了,现在把上述系列视频里的重要内容提炼一下。通过这个视频我觉得印证了长久以来自己的一些观点以及一些从来没注意到或者看到有人提到过的关于现在完成时的使用限制。

首先,我长久以来朦胧中却没有能够表达出来的一个观点就是,现在完成时虽然叫做完成时,但是它其实不是为了表达完成。过去时才是真的表达了完成(中文理解中的完成 - finished,而完成时在英文中是叫做perfect,虽然我本人不喜欢玩文字游戏,但是这个译名确实误导了我们很久)

基于完成时这个误导性的名字,我们很容易就会觉得完成了的事情就应该使用完成时来表达,进而随着我们看到的无论是英文课文还是原著的增多,必然会产生一个问题:为什么很多我们觉得“完成了”的地方,native speaker却只使用了一般过去时。而许多我们觉得并没有完成的地方,native speaker却使用了完成时。抛开我在原文里提到的美国人不喜欢用完成时 ->可以一窥美国人怎么看待一般过去时(Youtube)<-(相关的争论和吐槽国外英语学习论坛里经常有BrE和AmE的使用者讨论,本文最后的 reference 部分里也有一些截图。其实一般过去时和现在完成时/过去完成时在使用中有一定的重叠性。)这一因素以外,还是和我们对于完成时这一“高级”时态(相较于“一般”时来的高级,一般时英语里为simple,比如一般过去时为past simple)的使用动机和在语言产生的过程中的先后不甚了解有关。

那么首先:一般过去时(past simple)到底是个什么样存在呢?也许你回忆一下,在你最初学习英语的日子里,它就已经伴随着你了。它,简单 有效 直接,可以用来向别人表达任何现在之前的动作和事情,而且永远很难犯错,你表达出的意思即使不准确也是可以被容易理解的 - 在之前的原文中提到的,你是可以使用一般过去时的句子来表达出现在完成时和过去完成时差不多的意思的,而完成时作为一种高级表达,其使用的局限性和特定性却是非常多的。所以你可以这么理解,在日耳曼语的演化过程中必定是在一开始最原始混沌的时候就先产生了这些带simple的时态,用来简单有效的区分现在的&还在重复做的,过去的&已结束的这样的表达。而完成时必然是在之后为了表达某些需要讲好复杂好多句才能讲清楚的情况增多之后才渐渐开始出现的表达。

英语是一门基于现在的当下,这个过去和将来的分界点,来观察世界的时间轴语言,任何的时都是基于现在当下的角度来看从而才能够产生出来的。中文就不是,中文用同一个时来描述过去,现在和将来的事。所以英语中一般过去时的意思是:那些已经完成了的或者不再做了的事,已成过去。而现在完成时,里面的现在就指明了它的时 - 是现在时。它可以用来描述过去发生过的事,但是它时是放在现在的(现在的你饱含了过去的所有经历),也就是说现在完成时的句子里不可以加上具体过去的时间如in 1998,last week,甚至是今天早上this morning(比如现在已经是下午了的话),当然如果你一定要用完成时来和过去的时间状语连用的话那么请用过去完成时,虽然现在情况下它的用法上需要上下文里有一个时间先后的逻辑才会请出过去完成时,但是至少不是语法错误(有兴趣可见最后reference里的截图)。。而它的态 - 完成,并不是结束了的意思(过去时才是结束的意思。中文里的完成也并不等于结束,所以我们有完成度这个词而没有结束度这样的词),而是目前为止完成的进度(当然可能会是100%)但是也留有了穿过现在去到将来的余地(这也就是现在完成时可以和现在完成进行时有时互换)。

那么给出几个例子:

我们都知道完成时可以用来询问和谈论以前(人生至今)的经验。

比如一句标准的:

Have you been to Melbourne? (当然了,变种也很多,比如加上ever,before,但是它就是询问你有没有去过墨尔本这个经历)

Yes, I've been there. (非常标准的完成时回答,就have been的提问方式用了have been的回答,表达了有去过墨尔本的这个经历)

Yes, I went there last year. (一般在没掌握完成时,只会一般过去时的人可能会想到的回答*当然我以前刚去英语更差的时候经常直接一般现在时 go 就脱口而出了*,虽然可能感觉有那么些跳跃?但是完全不会让人理解错误,因为你去年去过了,那么你拥有去过墨尔本的这个经历是不言而喻的)

** I've been there last year. / I've been to Melbourne last year. 。。英语里是不存在这样现在完成时+过去时间点的表达的,只可能有和现在的当下属于一个时间区域的时间点,即带有“this”或者“ever/before(之前的整个人生中)”的时间表诉(原因下述)比如:this year, this month,this week,this day,this morning*(*现在的当下必须也处于这个morning才行,如果已经afternoon了则不可以用,而要用一般过去时) 或者单纯的时间段数值 for xx years, 或持续到现在的一段时间 since xxxx。而 from xx to xx 这种则不行。所以现在完成时真的是相较于一般过去时来说相当有很大使用局限的表达。

那么这样的情况下:假设你的室友刚回来,你想问他,有没有去过银行?(语境基本就是你们两之前都知道近期要去银行办个事,还互相提醒着不要忘了这个事)那么这个情况下,是该用完成时呢还是一般过去时呢?

如本文最后加的那张图里的一段有上下文对话,告诉我们的一个重要信息就是,任何剥离了语境的时态讨论都是耍流氓。而一般情况下现在完成时作为一个对人总体过去的经验的维度来开始一个问题,接着再转由一般过去时来讨论更加细节的具体是一种自然的表达,就好比我们在过去茫茫的海洋里撒网,网住了对方的一段经历,把时间点和舞台搭在那段时间里再用过去时讨论这样的自然逻辑。而不是永远你在每一句开始在那想:这句是用过去时还是完成时?

小结:

一般过去时作为一种基础表达,其本身的意味是比较笼统和粗糙的,极度的需要附加限定,而随着附加的限定的增多,其呈现的细节与表达也就越精确,运用的次数也就越频繁。

而现在完成时其本身作为针对某种环境特制的“高级”语法,随着附加限定的增多,其使用的局限性就越大,意思改变的情况就越多,运用的频率也就越少。

***关于上下文环境的影响大于时态本身的举例,以及关于现在完成时的始于过去穿过现在到达未来的性质使其与现在完成进行时的互换性:

I have been living in Melbourne for 6 years. (现在完成进行时)

I have lived in Melbourne for 6 years. (现在完成时)

这两句有何不同呢?答案是:它们都是我目前在墨尔本生活了6年的意思。是的,现在完成时本身就拥有一个让持续状态穿过现在持续到将来的语境功能性表达,并不是现在完成进行时独有。

那么如果去掉了时间 for 6 years 之后呢?

I have been living in Melbourne. 我目前在墨尔本生活。-意思没有变,只不过去掉了时间。

I have lived in Melbourne. 我有在墨尔本生活过的经历。-意思完全改变成为了对经历的描述。

碎片内容,在什么情况下可以有必要选择性的使用现在完成时:

讲英语的时候切忌开启上帝模式。我们是只生活在一个时间轴上一个叫做“现在”这一帧上的生物,而一般情况下我们使用英语的对话都是产生于当下的这一帧上的,以这一帧的视野来判断过去和未来,于是才有了时态里的时。就像一部视频,你的当下永远就是进度条上的那个指针。那么现在完成时的使用初衷到底是什么呢?首先如上文所说它不是为了表示事情的完成,它其实是为了表示过去已经完成的动作在当下的现在留给我们看到的状态残留。

The clock stopped!

The clock has stopped!

这两句日常生活中大体是一个意思,第一个一般过去时你只要用好了你就可以来表达一个钟已经停掉了的意思,有的人甚至可能用了一辈子都没觉得有问题。但其实在native speaker听到这句话那电光石火之间的时间里一些信息会更多的出现:你亲眼看到了这个钟刚才还在走着突然就不走了。你用了一般过去时清晰地划分了现在与过去以及已经结束了的事,所以如果那个钟其实早就停了而你根本就不在场所以你不可能观察到它停止的这一幕的情况下,你使用一般过去时是诡异且大惊小怪的(在已知情者看来),在未知情者看来会误以为你了解具体的情况。而如果你使用了现在完成时the clock has stopped!在native speaker听来则是表达了一种你现在刚刚注意到了钟停掉了这个事实,而你也知道这个钟是在你发现之前就已经停掉了的表述。所以,在描述一切在现在的你看来已经产生出某种结果或者性状改变的事物,而你也没有很清楚发生这一改变的具体时间,只是再次观察时或是首次观察到的某种不符合常规的状态(比如钟停了,但按常理钟都应该是走的)的情况下来使用现在完成时都不会有错(简单粗暴的说就是没有亲眼看见,不太了解,单纯性地对目前所见进行主观描述)。而一般过去时在这种情况下,理论上是用来描述那种你亲眼见到的或是在当下这个时间之前就已经知道了的事物情景。

(如果还有坑,以后慢慢填)

-----------------------------------------以下是原文--------------------------------------------------

这曾经也是一个困扰我多年的问题,并且这样的问题带给我的绝望让我对我所学习的语法理论知识产生了深深的绝望。

我想你如果到了问出了这个问题的阶段,必定不是一个对语法不够了解的人。我曾经也觉得之所以会有这个疑问,其本质可能还是我对语法的微妙差别不能够细细体会,一定是问题出现在了有关时态的语法上。

其实,这很正常。

回答里这么多,有的其实写得很不错,把时态撸了又撸,又是理论又是公式,很多朋友一定会觉得豁然开朗,这是好事,但是在实际中必然还是会绝望,这种绝望是你咀嚼的再细,理解的再深,然后发现鬼佬还是会说出颠覆你语法三观的句子,让你觉得自己那多年琢磨和体会变成了一种笑话。

好了,那么说到这里,我是否可以把你的问题改为 “为什么在充分地理解了一般过去时与现在完成时的区别后,听鬼佬说的话依然出现了让你觉得之前对这两者的理解三观尽毁的混沌和绝望?”

*潜在用词争议申明*鬼佬在澳洲华人圈里是中性词,不含贬义。

那么答案就是:美国人不喜欢用完成时啊,美国人不喜欢用完成时啊,美国人不喜欢用完成时啊。

美国人,在必需要用完成时的情况下当然是会用完成时的,但是其他时候,他们直接就用和包含了完成时(无论是现在完成时还是过去完成时)同样意思的一般过去时就撸过去了。

我给出你几个句子:

1. Have you done your homework? BrE

2. Did you do your homework? AmE

3. I've eaten too much. BrE

4. I ate too much. AmE

一个是英国人会说的,一个是美国人会说的。

1. I've just bought a car and blahblahblah...

2. Just bought a car and blahblahblah...

这是你在reddit上光看标题就能大概知道是个美国人还是个英国人。

那么我再给出你两个中文句子可供细细琢磨,但是我想说细细琢磨太深对于学习语言是个不太好的习惯,会让你太过不必要的细微而失掉整体。

1. 小强,你有做完作业吗?做完了才能玩!

1. 小强,你做没做作业?做了才能玩!

当鬼佬问这两个句子的具体的区别时,另外一个学中文教条,把中文语法完全精通,但可能实际过程中缺乏和华人交流也没在中国生活过的鬼佬,大抵也许是会把语法给他撸一遍,给出一堆公式并对他说,第一句强调的是作业做没做完,做完了才可以玩。第二句强调的是做作业个动作有没有做过,只要做了不一定要做完就可以玩。然而作为一个天然的中文使用者,你可能会在一边听了呵呵一笑,走过去说 “嗨。。别听他瞎bb,这俩句就是一个意思!”

----------------------------以下内容废话较多,酌情阅读--------------------------------------

(当然,内心深处我们也许会对那位对中文理解通透的鬼佬有些许敬佩 - 理解得真透彻,我都没细细想过。。在我个人的经历中,我很早前就碰到过母语使用者(日语,英语)对我说,不要问我语法问题,我都是凭感觉告诉你这么说在我看来诡异还是不诡异,我天生就会这门语言,并没有考虑过太多语法问题)

-----------------------------------------appendix------------------------------------------------

**最后的最后,下面这段话我想想还是加上吧,但是我把它放在最后,因为我最讨厌跟别人讲语法公式和教条的语感差别,但是只是想说明为什么过去时有时候可以代替完成时。

**烧脑警告**

一般过去时里其实是有完成(complete)的语感的,发生在过去的动作当然很多都是结束在过去;而完成时(英语里叫perfect而不是complete)里也覆盖了过去发生的动作并在过去就完成了的情况【而发生在了过去的动作持续到“现在”完成(其实在逻辑上是不存在的,它只能持续到现在的前面一点点的过去,即所谓have just done。而其它那些未在现在完成的都会穿过现在持续到未来,所以要用完成进行时 have been doing)这样的情况还是要用完成时的,就算你是不爱用完成时的美国人。。当然,你可能突然脑海里浮现出了现在进行时。现在进行时里也包含了一种不言而喻的起始于刚刚的过去而残留到现在并会结束于将来的动作,你不会疑问它和完成时的区别是应为你只用它来讨论这个起始于刚刚的过去的动作持续到当下这一秒你在干嘛,人是主观的“当下”生物,我们所有讲话的立场都是基于现在这个当下,于是才有了过去和未来不是吗?我正在跑(i'm running)是说当下正在跑,目前跑了多少(have been running for)是说到目前为止距开始时的差距(时间,距离),很绕吗?如果晕了就别去想了,抽个烟撸个管什么的就此打住吧,干嘛找虐呢。。掉头发不值得】。回到大括号前的内容。。发生在过去的动作就算在当时完成了,但其实都造成了一个状态的残留,这是不言而喻的,有的甚至不值得讨论的,但有些很特殊,比如买了个东西,剪了个头发。而过去时在原则上可以不讨论这个状态的残留对现在的影响因为它可以用来讨论之前的无数次,比如你十年前剪的头现在早不知道中间又剪过多少次了,但你不可以否定它也可用来说最近的剪的这一次状态至今残留着。(如果你又因此陷入了过去完成时和过去时的混乱中。。只需记住,过去完成时讨论的目的不是这个事在过去的完成,过去时有一样的完成功效,过去完成时只是为了制造一种时间上的先后顺序的逻辑感以此大幅简化句子,其实你是可以用一堆过去时的句子表达出过去完成时的。。其实大多数人英语不好的时候不都是在做这种事吗?)

本质上说,人是一个主观的当下生物,我们无论用何种语言说的任何话都是基于当下的角度来观看内容的,于是才有了过去和将来。你当下所说的话基于的视角,除了时间还有更重要的上下文逻辑,任何时态都是服务于你说的内容上下文让它拥有逻辑。那么最后的最后,其实问题来到了 “相比较过去时,完成时拥有哪些局限性?” 的上面。

I bought the car 3 days ago.

I've bought the car for 3 days.

这两个孤句,都表达了我买了车,买个这个动作发生完成在距今3天,你如果仅仅这么讨论它们间的细微差距是在用有限的生命讨论无限的可能。

但当你用了 I bought the car 3 days ago. 你在当下的角度把时间点拉回到了3天前并把尺度放宽到了至今,我大概主观的会预判你可能会和我说那天售车的小姐姐如何?( and the car seller was pretty cute.),那天你买了开回来路上就被袋鼠喜闻乐见了?(and it was battered by a kangaroo on the way home.),这3天里你天天吃泡面?(and I've been eating/have eaten instant noodles for 3 days.),现在降价促销了?( and it is now on sale.),甚至你突然说4天前其实你中了100来万乐透(after winning a lottery valued at more than a million )都是没有问题的,如此多的可能。而当你用了 I've bought the car for 3 days. 你的时间点里已然排除掉了买车的当天和之前,让我注意集中到你买了车后的这三天里都发生了什么,是已经坏了?还是和女朋友为车吵架分手了?还是吃了三天泡面?但你下一句说出那天卖车的小姐姐很漂亮(and the car seller was pretty cute),抱歉。。这犯了逻辑错误,即使它在语法上都是完全正确的句子。但如果你又接上了 by the way 的话。。所以真的不要细细琢磨孤句,不要通过孤句和公式来掌握语法,会疯,会绝望。

-----------------------------------------------------

上下文才是最重要的,甚至你要基于别人给你设定好的时态来讲话

reference (这算是一种黑吗。。):

标签:时态,英语语法,区别,英语,语言学习,英语时态