English 轻松学
Grammar · 语法 · B1 · B2 · 共 20 课
  1. 1现在完成式
  2. 2将来时态:will、going to、现在进行时
  3. 3条件句:零、第一、第二型
  4. 4情态动词:许可与义务
  5. 5used to 的三种用法
  6. 6过去的习惯:used to / would / 过去简单式
  7. 7过去的能力:could / was able to / managed to
  8. 8强调词:so 与 such
  9. 9形容词:可分级 vs 不可分级
  10. 10修饰比较级
  11. 11对比连接词:although, despite 等
  12. 12短语动词:可分离与不可分离
  13. 13被动语态
  14. 14情态动词:推断现在的事
  15. 15情态动词:推断过去的事
  16. 16过去完成式
  17. 17条件句:第三与混合条件句
  18. 18将来进行时与将来完成时
  19. 19大写字母与撇号
  20. 20英式英语 vs 美式英语

现在完成式

Present perfect 语法 · B1 · B2
约 6 分钟 B1
这课学什么
  • 「我认识他没多久」和「我 2020 年认识他」,中文听起来差不多,英文却要分现在完成式和过去简单式。
  • have/has + 过去分词,说跟现在还有关联的过去动作或状态,共有三种用法。
  • 未完结时间段内的动作/人生经历(today/this year/ever/never)、未完结的持续状态(for/since)、过去动作对现在的影响(just/already/yet)。
  • 句子里一旦出现明确的过去时间点(yesterday、last week、in 1992),就该换回过去简单式,不能再用现在完成式。
  • B1 核心时态,是马来西亚华人最容易跟过去简单式搞混的语法点之一。

重点内容


基本结构

have / has + 过去分词(past participle)

  • 肯定:He's been to ten different countries.
  • 否定:I haven't seen her today.
  • 疑问:Have you ever dyed your hair?


用法一:未完结时间段内的动作

表示在还没结束的时间段(today / this week / this year / so far)内发生的事。

  • They've been on holiday twice this year. → 今年已经度假两次了。
  • We haven't had a lot of positive feedback so far. → 到目前为止,正面反馈不多。
  • I'm sure I've seen that film before. → 我确定我以前看过那部电影。

也包括人生经历(人生还没结束,所以是未完结时间段):

  • I've worked for six different companies. → 我在六家不同公司工作过。
  • He's never won a gold medal. → 他从来没有得过金牌。
  • Have you ever been to Australia? → 你去过澳大利亚吗?

负面句常用 never,疑问句常用 ever。



用法二:未完结的状态

表示从过去开始、现在还在持续的状态,常搭配 for、since、how long。

  • She's wanted to be a police officer since she was a child. → 她从小就想当警察。
  • I haven't known him for very long. → 我认识他没多久。
  • How long have you had that phone? → 你这部手机用多久了?

for + 时间段(for two years),since + 时间点(since 2020 / since I was a child)



用法三:过去动作对现在有影响

过去发生的事,结果现在还看得到:

  • He's broken his leg so he can't go on holiday. → 他骨折了,所以不能去度假。
  • There's been an accident, so let's take a different route. → 出事故了,我们绕路走。

常搭配 just / recently / already / yet / still:

  • We've recently started going to the gym. → 我们最近才开始去健身房。
  • She's already finished season one. → 她已经看完第一季了。
  • Have you checked your emails yet? → 你看过邮件了吗?


现在完成式 vs. 过去简单式

说清楚什么时候发生 → 用过去简单式

  • He broke his leg last week. → 上周骨折了(有明确时间)
  • We visited Russia in 1992. → 1992 年去了俄罗斯(已结束的时间段)
  • Before she retired, she worked in several countries. → 这段人生已经结束,用过去式

例句练习

英文中文
My phone's run out of battery. Can I use yours?我的手机没电了,可以借用你的吗?(过去动作影响现在)
Have you ever tried durian?你试过榴梿吗?(人生经历)
I've lived in KL since 2018.我从 2018 年开始住在吉隆坡。(持续状态)
She's already finished the project.她已经完成项目了。(搭配 already)
Have you done your homework yet?你功课做了吗?(搭配 yet)

常见错误

❌ I have seen her yesterday.
✅ I saw her yesterday. (有明确的过去时间词 yesterday,要用过去简单式,不用现在完成式)

❌ Have you ever went to Japan?
✅ Have you ever been to Japan? (have + 过去分词:go 的过去分词是 been,不是 went)

❌ I know him since 2020.
✅ I've known him since 2020. (从 2020 年延续到现在的状态,要用现在完成式)


Sources

Blog / Website:

  1. Present perfect – British Council

练一下

学完马上做几题,看看记住了多少。答错也没关系,提交后会告诉你为什么。

语法点共 6 题
常见错误辨析共 3 题