Have / Has Been Doing 用法详解
“Have/has been doing” 是英语中 现在完成进行时(Present Perfect Continuous)的标准结构,用于描述从过去某一时间开始、一直持续到现在(可能仍在继续)的动作或状态。
一、基本结构
- 肯定句:主语 + have/has + been + 动词-ing
I have been studying English for two hours.
- 否定句:主语 + have/has + not + been + 动词-ing
She hasn't been feeling well lately.
- 疑问句:Have/Has + 主语 + been + 动词-ing?
Have you been waiting long?
二、使用场景
- 强调动作的持续性:表示动作从过去开始,一直延续到现在。
They have been working on this project since Monday.
- 动作刚刚结束,但有当前影响:
Your eyes are red. Have you been crying?
- 重复性动作(常带感情色彩):
He has been calling me every day this week!
三、常见时间状语
常与以下时间状语连用:
- for + 时间段(for two hours, for a week)
- since + 时间点(since 2020, since breakfast)
- all morning / all day / recently / lately
四、注意事项
并非所有动词都可用于进行时。以下动词通常不用于 have/has been doing 结构:
- 表示状态的动词:know, believe, understand, like, love, hate, want 等
❌ I have been knowing him for years.(错误)
✅ I have known him for years.(正确)
五、与现在完成时的区别
现在完成时(have done)强调结果或经历;现在完成进行时(have been doing)强调动作的持续过程。
I have read this book. (已读完,强调结果)
I have been reading this loose book. (正在读,可能还没读完)