现在完成进行时 Present Perfect Continuous

考试:📘 KET — 📙 PET ✓ 📕 FCE·雅思 ✓ 分类:时态 考试入口:PET语法清单 关联:现在完成时 Present Perfect | 现在进行时 Present Continuous | 过去完成时 Past Perfect


核心规则(Grammar Core)

什么时候用?

把现在完成时(完成结果)和进行时(持续过程)合二为一:

  1. 从过去某时持续到现在,还在进行 — I have been studying English for 5 years.(学了 5 年,还在学
  2. 刚停下,结果还看得见 — Why are you wet? — I have been swimming.(刚游完,所以湿)
  3. 强调持续的努力或过程,不强调结果 — She has been practicing the piano all morning.

一句话总结:现在完成时关心”完成没有”,现在完成进行时关心”做了多久、还在不在做”。

构成公式

句型公式例句
肯定S + have/has + been + V-ingThey have been waiting for an hour.
否定S + haven’t/hasn’t + been + V-ingHe hasn’t been feeling well lately.
疑问Have/Has + S + been + V-ing?Have you been crying?

has → he / she / it / 单数名词 have → I / you / we / they / 复数名词 缩写:I’ve been / he’s been / we’ve been

信号词雷达

信号词用法例句
for + 时段持续多久I have been learning Chinese for 3 years.
since + 时间点从何时起She has been playing Genshin since last summer.
all morning / all day / all week整段时间He has been gaming all afternoon.
lately / recently近期I have been feeling tired lately.
How long…?提问”多久”How long have you been waiting?

Grammar Lens

时间轴定位

              现在完成时(关心终点)
              ─────────●
              过去      现在
                 ↓
              现在完成进行时(关心整条线段)
              ━━━━━━━━━━●━━━→(可能还会持续)
              过去      现在

类比:现在完成时是拍照——咔嚓,记录”已完成”那一刻;现在完成进行时是录像——一直在拍,从过去拍到现在,还在拍。

对比辨析:现在完成时 vs 现在完成进行时 ⚠️

这是 PET 最核心的对比,必背:

现在完成时(完成 + 结果)现在完成进行时(持续 + 过程)
I have read three books this month.(看完了三本——强调数量I have been reading all afternoon.(读了一下午——强调过程
She has cooked dinner.(做好了,可以吃了)She has been cooking all day.(做了一整天,可能还在做)
I have written my essay.(写完了)I have been writing my essay for hours.(写了好几个小时)

判断口诀

  • 看到数量/结果(three books / the essay)→ 完成时
  • 看到时长(for / since / all day / how long)→ 完成进行时

状态动词不能用进行时 ⚠️

下列动词表示状态(不是动作),通常只用完成时,不用完成进行时:

状态动词✅ 正确❌ 错误
knowI have known him for 5 years.I have been knowing him…
like / love / hateShe has liked him since middle school.has been liking
beWe have been friends for 10 years.have been being friends
have(拥有)I have had this phone for 2 years.have been having

例外:have 表”经历/做”时可以用进行时——She has been having trouble sleeping.


😂 Grammar Joke

妈妈的真问题

Mom(看到 Aaron 的房间): “Why is your room such a mess?” Aaron: “I have been cleaning it.” Mom: “It looks worse than yesterday.” Aaron: “Exactly. I have been cleaning it. I haven’t finished.” Mom: “How long have you been cleaning?” Aaron: “Since… ten minutes ago. Maybe five.” Mom: “And before that?” Aaron: “I had been playing Minecraft. For three hours. But I have been thinking about cleaning the whole time.”

Aaron 灵活运用了三种时态:现在完成进行时(一直在打扫但没完)+ 过去完成进行时(之前一直在玩游戏)+ 现在完成进行时(一直在”想”打扫)。

语法点:完成进行时强调过程而非结果——所以非常适合用来解释”我一直在努力,只是还没成功”。


🏛 语言文化光点

“How long have you been…?” — 英语社交核心句

在英语国家初次见面的小聊(small talk),最经典的问句之一就是:

How long have you been living in Shanghai?” “How long have you been learning Chinese?” “How long have you been working here?”

这种问法暗含一个温暖的预设:对方正在做的事情有持续性、有积累、值得被看见。中文里”你来上海多久了”语感差不多,但英语用完成进行时把”持续性”这个意思直接打在时态上——这是英语对过程感的偏好。

J.K. Rowling 1995 年在咖啡馆写完《哈利波特》第一卷时,被问”How long have you been writing this?” 她说:“Five years. I’ve been writing it in cafés while my baby slept.”——一句话里浓缩了五年的坚持。


例题精讲

例1(📙 PET · 持续动作)

I _____ (wait) for the bus for 20 minutes. Where is it?

答案:have been waiting。“等了 20 分钟,还在等”——持续 + 进行。

例2(📙 PET · 完成时 vs 完成进行时)

A: Your eyes are red. _____ you _____ (cry)? B: No, I _____ (chop) onions.

答案:Have / been crying, have been chopping。结果(眼睛红)+ 过程(一直在做)→ 都用完成进行时。

例3(📙 PET · 状态动词陷阱)

I _____ (know) Aaron since we were 5 years old. A. have been knowing B. have known C. am knowing

答案:B。know 是状态动词,不用进行时。

例4(📙 PET · for vs since)

She _____ (study) Mandarin _____ 2020. He _____ (play) violin _____ 6 years.

答案:has been studying / sincehas been playing / for

  • since + 时间(2020)
  • for + 时(6 years)

例5(📕 FCE 预览 · 强调结果 vs 过程)

✅ I have written three emails this morning.(强调数量) ✅ I have been writing emails all morning.(强调时长)

两句意思相近,但视角完全不同——这是英语高级表达的精髓。


📖 Real English · 真实阅读

🔵 The Marathon Streak

Aaron’s grandfather has been running every morning since 1985. That’s almost forty years. He has run in twelve marathons. He has never missed a single day, even in heavy rain. People often ask him, “How long have you been doing this?” He always smiles and says, “Long enough that my legs know the route without me.” His record is impressive: he has been waking up at 5 a.m. for so long that he no longer needs an alarm clock. “I haven’t used one since I was 30,” he says.

🔵 Why Are You So Tired?

“You look exhausted. What have you been doing?”

“I have been studying for the PET exam. I have been practicing writing every day for two weeks. My teacher says my grammar has been improving, but I haven’t been sleeping enough. Since last Sunday, I have only slept about five hours each night. My mom has been telling me to take a break. Maybe she’s right. I have been working so hard that I have forgotten what relaxing feels like.”

🔵 The Game That Wouldn’t End

Leo and I have been playing the same Minecraft server since we were in 4th grade. We have built three cities, two castles, and one underwater base. Our parents have been complaining about screen time for years. But here’s the thing: we have also been learning. We have been solving problems together. We have been arguing, making up, and arguing again. We have been growing up inside that game. Last week, Leo said something I won’t forget: “We haven’t been playing Minecraft. We have been living in it.”



练习题

📙 PET 基础(5题)

  1. We _____ (live) in this house since 2018.
  2. How long _____ you _____ (learn) English?
  3. Aaron is tired. He _____ (play) basketball all afternoon.
  4. I _____ (not see) my cousin for ages. (注:见面是离散事件,不用进行时——haven’t seen 表”自上次见面以来的时间间隔”)
  5. She _____ (cook) dinner for the past two hours.

📙 PET Writing Part 1 · 句型转换(2题 · 必考)

1. 用 have been …ing for 改写

I started learning English 5 years ago. → I _____ English for 5 years.

参考答案:have been learning

2. 用 since 改写

Aaron began playing Minecraft when he was 8 years old. → Aaron _____ Minecraft since he was 8.

参考答案:has been playing

📙 PET 进阶写作(1题)

回答 PET Speaking 问题:“How long have you been learning English, and what have you been doing to improve?” 用 3-4 句话,至少 2 处现在完成进行时。


🔗 节点关系

现在完成时(完成结果) ── 现在完成进行时(持续过程)
        ↓                          ↓
     拍照                       录像
     have done                  have been doing
                ↓
        for / since 信号词
                ↓
   状态动词例外(know/like/be → 用完成时不用进行时)
                ↓
   过去完成进行时(had been doing · 📕 FCE 预览)

双链跳转现在完成时 Present Perfect | 现在进行时 Present Continuous | 过去完成时 Past Perfect | 一般过去时 Simple Past


R. S. Ang · K12 Notes · PET, 2026