如何正确理解 had done、have done、have been doing 这 3 种时态?

语法书上的那些解释,看来看去都不是很能理解,也谢绝照搬语法书的解释。看一次,过一段时间又忘了,总不是能很好的区分,也不知道怎么很好的实用这三种时态。 …
关注者
1,402
被浏览
1,247,596
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏
本回答最近一次修改:2019/02/15。

这里的多数回答都没能准确把握「时态」这一概念。提问中的 had done / have done / have been doing 这些结构并不等同于「时态」。换句话说,提问本身就是有问题的。

时(tense)这个概念是指「事件在时间轴上的相对位置」。如果用吃饭来举例,那就是「何时吃饭」(之前吃/现在吃/之后吃/…)。「时」常由动词形态体现,故译为「时态」。如果把广义的「形态」包括进去,那英语我们可以视为三时态语言(do, did, be going to do / will do)。

而「完成」「进行」等概念,则是指「事件在时间轴上分布的方式」,和「时」是无关的。还是用吃饭来举例,那就是「怎么吃饭」(一口气吃完/断断续续吃/吃饱/…)。这些吃饭的方式,和这顿饭是午饭还是晚饭是无关的。语言学中把这些概念统称为体(aspect)

现代英语中有两种由形态体现的体:

  • 完成:表示事件在基准时点之前的一段区间内有效。多用于叙述已发生事件的后续影响。反之,「非完成」就只是单纯叙述事件是否发生,不关注它的影响。
  • 进行:表示说话人从内部观察事件。换句话说,就是指说话人身处于事件进展之中。反之,「非进行」就表示说话人把事件视为一个结束的事件,像看一个点一样从外部观察它(因此事件的进展就不重要了)。

「完成」由 <have + -ed> 这一结构体现,不包含这个结构的就是「非完成」;而「进行」由 <be + -ing> 体现,不包含这个结构的就是「非进行」。

那么现在我们就有了三种「时态」,两对「体态」,将它们相互叠加就可以构成 3 × 4 = 12 种不同的组合。这就是英语教学上所谓的「英语的 12 种时态」。英美在英语语法教学上为了从简采用的是把 tense 和 aspect 混淆在一起称为 tense 的方法,而我们的教科书大多沿用了这种方法——不过我对这种教学法的效果存疑。

如此一来问题就简单了。我们需要做的就是,搞清楚短语、句子里使用的是哪一种组合。比如针对 had done,我们可以按照 (1) 是否是进行体、(2) 是否是完成体、(3) 是什么时的顺序分析为:(1) 不包含 be doing → 非进行、(2) 包含 have done → 完成、(3) had → 过去。其中:

  • 「非进行」:说话人视这个事件为一个结束的事件;
  • 「完成」:说话人意在叙述这个事件的后续影响;
  • 「过去」:这个影响是一个发生在过去的过去的事件对过去的影响。

所以从说话人的视角来看,

  • had done 表示:以现在为基准,过去的过去发生的、已经结束的某个事件,对过去的影响(下划线指的是同一个时间点)。
  • have done 表示:以现在为基准,现在的过去发生的、已经结束的某个事件,对现在的影响。
  • have been doing 表示:以现在为基准,现在的过去发生的、尚在进行中的某个事件,对现在的影响。