完成时态
errol发表于2023-08-23 03:06:03 | 分类为 学习笔记 | 标签为英语完成时态语法

完成时态的本质思维是回顾,其基本意义为,“以某个时间为参考点,对之前的时间进行回顾,并且之前时间发生的事件跟这个时间有一定的联系”。

完成时态主要有三种用法,第一是用于表示延续事件,第二是用于表示重复事件,第三是用于表示单一事件(但其所造成的影响会持续到另一个时间点)。

完成时态的构成

主要分为两个部分,一个是助动词have,用于表示动作发生的时间;另一个是实义动词done的过去分词,用于表示动作的状态(已经完成)。

有以下三种基本的形式:

  • have done(现在完成时)
  • had done(过去完成时)
  • will have done(将来完成时)

类似的,与完成时态搭配的动词,也分有“延续动词”和“短暂动词”,前者可以与时间状语连用,后者不可以。

(简单的区分方法:“延续动词”无法瞬时完成,如“eat(吃饭)”、“study(学习)”、“watch(看电视)”等,这类动词的发生都需要经过一定的时间;“短暂动词”,如“start”、“stop”、“close”、“arrive”等,这类动词一旦发生后,就马上结束了,以“start”来说,不可能说,“一直开始”)

延续事件

以现在完成时为例,使用现在完成时表示的事件的含义为,过去的事件延续到了现在。

比如,要表示“她已经做了10年老师”,就可以使用现在完成时进行表达:“she has been a school teacher for 10 years.”,这是说她从过去开始当老师,现在也依然是老师,这就是所谓的过去的事件延续到现在。

但需要注意的是,这个延续动词,有可能是状态,也有可能是动作。

如上面的例子是状态,“I have learned english for over ten years.”则为动作。【我在10年前开始学习英语,现在也还在学】

1、延续事件与时间状语

如果谓语要表示延续,则动词必须是延续动词或be动词;

如fall或marry为短暂动词,无法表示延续,也无法与时间状语连用:“i have fallen in love for eight years.”和“i have married for over a year.”都是错的。

正确的表达应该为:“i have been in love for eight years.”、“i have been married for over a year.”。

但注意,这并不是说fall和marry不能使用完成时,而是说它们作为短暂动词时,无法表达延续。

想要表示延续动作、事件或状态时,其动词必须是延续性动词,还要加延续性时间状语。(除非在特定的上下文)

1)如前面的“for+时间段”

略。

2)since + 时间点或从句

since time began, man has lived in fear of fire.【自古以来,人类就害怕火】

3)until now, up until/till now, up to now, so far等等

它们的意思为“到目前为止”,up until now, i have failed to pass the test.【有些动词虽然不是延续动词,但因为动作可以发生很多次,因此也可以表示与“延续”类似的含义,“fail”就是如此】

4)最近几个月/年以来

in the past few years, over the past few years, during the last three months, for the last few centuries, throughout history等等。

throughout history man has had to accept the fact that all living things must die.

如果不接延续性时间状语,只表示了一个完成了的动作。

重复事件

“只要点足够多,足够密集,也能连成一条直线”,这跟重复事件延续到现在一个道理,当然,并不是说,重复要达到多少次才行,这只是一个比喻。

“多次发生”就是重复事件的特征。

“i have had teachers everywhere i’ve gone, stayed, and lived.”,这说明“我”遇到过很多老师,直到“现在”“遇见老师”这件事也仍然在发生,因此可以使用现在完成时表达重复动作。

"every decision i have made, every executive action i have taken…"

使用表示重复概念的词语或语言标示,这是最常见的使用完成时态表示重复性思维的方式,如teachers、friends这种表示复数的名词,或者every decision、so many这种表示次数的短语。

事实上,即使是延续动词,其所表示的动作也不可能一直是连续不断的,比方说看电视watch,看电视的过程中,可能中途有人打电话过来,接听电话时,已经不是“看电视”了,总之,不能把规则定死,要灵活变通,不然就是在钻牛角尖。

但这样看来,其实重复事件与延续事件是很类似的,也正是如此,二者的时间状语都是通用的,即延续时间状语也可以用于重复思维表达。

1、重复事件与时间状语

可重复原则与将来的时间有关;现在完成时态可以说是以现在的时间为参照来谈一个可以持续或重复到将来的事件。

“How many people have entered for the race?”指的是,说话人想了解目前报名比赛的人数,此时报名也未截断,比赛还未开始。

“How many people entered for the race?”指的是,说话人想了解参加比赛的总人数,此时报名已经截止,比赛可能在进行中,也可能已经结束。

2、可重复性原则与过去时间

确定的过去时间状语不能与现在完成时搭配(yesterday,last night等),这是因为过去的时间状语表明事件在过去已经完成,而无法延续或重复到现在以及未来。

“i was absent four times last semester.”他上学期缺了四次课,但与现在没有关系,“缺课”这个事件已经结束,所以用一般过去时表达。

“i have been absent four times this semester.”这个学期还没结束,他还可能会继续缺课,也就是“缺课”事件还未结束,还具有可重复性,所以用现在完成时表达。

3、可重复性原则与现在的时间

如today,this week,this year,都可以与现在完成时搭配,也可以与一般过去时搭配,但它们是有区别的。

“i haven’t seen him this morning.”使用完成时时,说明事件与“现在”(即this morning)有关系,该事件具有可重复性:虽然目前没有见到,但是后面(同为早上的时间)还会有可能见到,也暗示了说话的时间(这是中午之前说的),对于“现在”来说“this morning”还未成为过去。(注意,否定的短暂动词会被视为“状态”,其完成时态可与时间状语连用)

“i didn’t see him this morning.”使用过去时,说明说话的时间与this morning已经没有关系了,“this morning”已经成为过去的时间,事件不再具备可重复性,说话的时间可能是在中午或者晚上,说话人早上(this morning)没见到他已经成为事实,不会再发生变化。

4、可重复性原则与一般时间

如“in the morning”是一个不确定是现在还是过去的时间。

“i have gotten up at five o’clock this morning.*”是错的,five o’clock this morning(今天早上)是具体的过去时间。

“i have gotten up at five o’clock in the morning.”是对的,five o’clock in the morning(在早上)不是一个具体的时间,它具有可重复性【我曾在早上5点醒来过。】,可以与完成时态连用。

同理,“i have gone swimming at 12 at midnight.”是对的【我曾经在夜里12点游过泳。】,“i have gone swimming at 12 last night.*”是错的。

其他

可以看到,完成时态,比如“have done”,有时候会翻译为“曾经”【较远的过去】,有时候又会翻译为“已经”【较近的过去】,因此,最好加一些副词加以修饰。

如,表达“我已经吃过饭了。”,可以使用“i have already had lunch.”,否则别人只会认为是过去发生且已经完成了的动作,即“曾经”。

如,“i have been a teacher.”的意思为,“我曾经当过老师”。

完成了的动作与一般过去时的区别为,一般现在时只是简单地陈述事实,但这个完成了的动作,除了说明动作发生在过去之前,还附加有其他含义,即过去发生的动作对第二个时间点有影响。

完成时如果不表示延续动作时,会生成一个“隐形的转折点”,也就是所谓的“对现在有影响”。

不同于一般过去式动作、事件趋于稳定,现在完成时还具备变化的方向,如下面的例子。

“i have eaten lunch.”(我已经吃过饭了),对现在影响:我现在肚子不饿了,就不和“你们”一起去吃了。

“i have watched that movie.”(我已经看过那部电影了),对现在的影响:我现在已经知道了那部电影的内容,目前不想再看第二遍了。

对于不表示延续动作或状态的完成时来说,使用完成时时,会表示该状态已经结束,而且接下来也不可能会延续这个状态。

如,i have been a teacher,表示我曾是一个老师,即说话人作为老师的身份已经结束,他已经不再是老师了,接下来会有事件的转折,比如,他可能说接下来他要去做商人,司机,修理工,但不可能是教师。

但对于可重复动作来说,虽然作为短暂动词,动作已经结束了,但接下来还是会有可能发生相同的事情,如下面的例子。

“i have called him three times this morning.”,如果某人说出这句话,那他的意思是表明直到说话这个时间点为止,他一共打了三次电话给某人,而且,接下来他还很可能会继续打,“i have called him three times so far this morning.”加个时间状语表达更明确,即现在完成时具有可重复性,但是并不是所有的现在完成时都可以表示重复性,前面也有提到过了,如“她曾经当过老师(she has been a school teacher.)”,当然,“以后”她可能还会当老师,但不是“现在”。

“一般过去”时态则没有这样的含义:“i called him three times this morning.”,如果某人说出这句话,那他只是想表达他干过这件事,即早上打过三次电话给某人,除此之外别无他意。

即现在完成时态具有“将来可重复性”,而一般过去时态不具有“将来可重复性”。

所以,“his father has been dead.*”是错误的【他爹曾经死过】,一般来说,这是不可能的,就目前而言,人不会死而复生,这与“been a school teacher”是不同的。

同理,“i have been old.*”也是错的,但是“i have been young.”是对的【人从年轻到年老】。

因此,如果是一个天然不具有重复性的动作,就不能用现在完成时来表达。


完成时态也是一个比较常见且重要的时态之一,想要掌握该时态,必须要区分“延续性动词”与“短暂动词”,否则使用完成时进行表达时,很可能会出现乌龙。

返回