一般过去时与现在完成时的分野——这条规则学生大多「听过」,却很少真正用对。原因往往不在记性,而在于汉语和英语在这里的底层逻辑不一样。这一讲把它拆开讲透。
为什么它值得单独讲
汉语用「了」和「过」就能覆盖大部分情况,学生分不清「过去发生」和「过去发生且与现在有关」,于是 I have seen him yesterday 这类错句反复出现。
规则
一般过去时说的是「过去某个时间点发生、已经结束」的事,常与明确过去时间(yesterday、last week、in 2002)连用;现在完成时说的是「到目前为为止的经历或结果」,不能与明确过去时间连用。
中国学生的典型错误
把现在完成时和 yesterday、last year 这类时间状语放在一起;或者该用完成时的地方一律用过去时,丢掉「与现在的关联」。
错句对照
错:I have finished it yesterday.
对:I finished it yesterday.
为什么:有明确过去时间,用一般过去时。
错:I finished my homework, so I can play now.
对:I have finished my homework, so I can play now.
为什么:强调对现在的结果,用完成时。
错:Did you ever been to London?
对:Have you ever been to London?
为什么:问经历用完成时。
怎么练
① 把最近一周做的事分成两类:有明确时间的用过去时,强调结果的用完成时。
② 看到 yesterday、ago、last 就划掉完成时的选项。
③ 用 have/has 开头造十个问句,问别人的经历。
今天就能开始
今天就做一件事:在自己最近写的一段英文里,专门找一遍和「一般过去时与现在完成时」有关的句子,按上面的规则逐句改。改不动的地方,说明规则还没吃透,回头再读一遍。