现在完成时 vs 一般过去时:终结混乱的『何时?』规则

'I have seen him yesterday' 是错的,但为什么?这里有一个问题,每次都能选对正确时态,加上能锁定每种时态的时间词。

作者:Learn Native English阅读时间 4 分钟

把 B1 学习者拉回 B2 的最大语法错误就是混用 have donedid。好消息是:在你说每句话之前问自己一个问题,正确时态就会自动浮现。

决定时态的那个问题

在你说出动词之前,问自己:「我能说出这件事是『何时』发生的吗?」

  • → 一般过去时(didwentate
  • 不能 → 现在完成时(have donehave gonehave eaten

就这样。整个体系归结为这一个判断。

"I saw him yesterday."(何时?昨天。→ 一般过去时) "I have seen him."(何时?无所谓,没有给出时间。→ 现在完成时)

时间词速查表

某些时间词总是只搭配一种时态。把这两份清单背下来:

一般过去时的时间词(具体、已结束的时刻): yesterday、last week、last year、in 2020、two days ago、at 3pm、when I was a child、on Monday

现在完成时的时间词(开放、未结束或未指定): ever、never、already、yet、just、since 2020、for two years、recently、so far、this week(仍在进行)、today(仍在进行)

「现在仍然相关」测试

如果没有给出时间词,问:结果是否仍然影响现在?

  • "I have lost my keys." → 钥匙仍然丢着。→ 现在完成时。
  • "I lost my keys yesterday." → 已经过去的事。→ 一般过去时。

同一件事可以用任一种时态,取决于结果是否对现在还有影响。

千万别犯的经典错误

修正方法很机械:看到 yesterday、last、ago、in [年份]、when?→ 一般过去时。没有例外。

练习:选择正确的时态

用正确的形式(一般过去时或现在完成时)填空:

  1. I in Tokyo for three years.(现在仍住在那里)
  2. She in Paris in 2018.(具体年份——已结束)
  3. sushi?(开放性问题)
  4. We to the cinema yesterday.
  5. He the report yet.
  6. I her since Monday.
  7. They a new car last week.
  8. The bus .

加分项:你需要掌握的不规则过去分词

大多数过去分词以 -ed 结尾(worked、finished)。但高频动词都是不规则的。把这些练熟——它们占现在完成时用法的 80%:

see(past participle) go(past participle) do(past participle) be(past participle) eat(past participle) give(past participle) take(past participle) write(past participle) break(past participle) speak(past participle) drive(past participle) forget(past participle)

如果你能在 10 秒内回忆起全部 12 个,你已经掌握规律。如果不能,每天练习一周。