全部语法课

第 47 课 · 第 4 阶段: 时态与情态动词

现在完成时与一般过去时

中级

Present perfect vs past simple

构成与用法

I've lost my key(与现在有关)vs I lost it yesterday(已结束的时间)

1.关键区别

这两种时态都讲已经发生的事。区别在于说话人站在哪里看:现在完成时从现在看(这件事现在仍然重要),一般过去时则把动作放在已经结束、翻篇了的时间里。

现在完成时一般过去时
形式have/has + V3V2 (-ed), did/didn't + V
时间没说出来,或还没结束已经结束
重点到现在为止的结果或经历什么时候、怎么发生的
例句I've lost my key.I lost it yesterday.

快速检验:句子里有没有(或明显暗含)已经结束的时间?有 → 一般过去时。没有,而且现在仍然重要 → 现在完成时。不要靠“了”“过”“已经”这类词来判断——决定时态的是时间框架。

2.时间词

时间词常常决定用哪个时态:

一般过去时(已结束的时间)现在完成时(到现在为止)
yesterday, last night, last summertoday, this week, this year
in 2019, on Monday, at 6 o'clockso far, up to now, recently, lately
three days ago, a moment agojust, already, yet, ever, never
When…? What time…?How long…? (+ for / since)

Today、this morning、this week 在这段时间还没结束时用现在完成时,结束以后就用一般过去时。

  • I've drunk two coffees this morning.

    今天上午我已经喝了两杯咖啡。(说话时还是上午)

  • I drank too much coffee this morning, and now I can't sleep.

    今天上午我咖啡喝多了,现在睡不着。(上午已经过去了)

  • Linh has called me four times this week!

    阿玲这周已经给我打了四次电话了!

3.现在的结果,还是已结束的事件

同一件事,换个时态,要表达的意思就变了:

  • I've broken my glasses, so I can't read this.

    我把眼镜摔坏了,所以看不了这个。(现在的结果)

  • I broke my glasses last month, but I've got new ones now.

    我上个月把眼镜摔坏了,不过现在已经配了新的。(已结束的事件)

  • Have you ever been to Thailand? — Yes, I went there in 2022.

    你去过泰国吗?——去过,我 2022 年去的。

  • When did you start learning English?

    你是什么时候开始学英语的?(不说:When have you started)

4.讲新闻:先用现在完成时,再换成一般过去时

人们讲新消息时,常先用现在完成时(消息本身),讲细节时再换成一般过去时——因为这时已经有了明确的时间和地点。

  • I've finally passed my driving test! I took it last Friday.

    我终于通过驾照考试了!是上周五考的。

  • Hoa has had her baby! The little girl was born at 3 a.m.

    阿花生了!小女孩是凌晨三点出生的。

  • There's been an accident on the bridge. A bus hit a motorbike.

    桥上出车祸了,一辆公交车撞了一辆摩托车。

美国人,尤其是在口语中,说刚发生的事常用一般过去时:I just got home. / Did you eat yet? 英国人一般用现在完成时:I've just got home. / Have you eaten yet? 两种都对——但有已结束的时间(yesterday、last week、ago)时,英式和美式英语都用一般过去时。

5.仍然如此,还是已经结束

对于持续的情况,现在完成时表示现在仍然如此;一般过去时表示已经结束。已经去世的人或已经过去的人生阶段也是如此。

  • My dad has been a taxi driver for ten years.

    我爸爸开出租车已经十年了。(他现在还在开)

  • My dad was a taxi driver for ten years. He retired in 2020.

    我爸爸开了十年出租车,2020 年退休了。(现在不开了)

  • My grandfather never learned to drive.

    我爷爷一辈子都没学会开车。(他已经不在世了)

6.常见错误

  • I have visited my aunt in Can Tho last month.

    I visited my aunt in Can Tho last month.

    last month 是已经结束的时间 → 一般过去时。

  • When have you started learning English?

    When did you start learning English?

    When…? 问句用一般过去时。

  • I read five books so far this month.

    I've read five books so far this month.

    so far = 到现在为止,这个月还没结束 → 现在完成时。

  • Minh has finished university in 2021.

    Minh finished university in 2021.

    有明确的年份 → 一般过去时。

  • I've met your brother at the party on Saturday.

    I met your brother at the party on Saturday.

    说了时间和地点 → 一般过去时。

  • Have you ever been to Japan? — Yes, I've been there in 2019.

    Yes, I went there in 2019.

    一旦说出年份,就要换成一般过去时。

例句

  • I lost my keys yesterday, but Lan found them this morning.
  • We went to Phu Quoc in 2019.
  • I saw that film last weekend.
  • My brother has sent three emails to the bank so far this week.
AI 正在听...•App Store 和 Google Play 评分 4.7/5

和 AI 说英语 全天 24 小时

立即下载应用 — 实时发音评分、自然对话、像真人老师一样纠正。

AI 发音评分即时反馈自然对话