摘要
现在完成进行时用于强调一个动作从过去某时开始,一直持续到现在,并且可能仍在进行或刚刚结束。它侧重动作的持续性和未完成性,常与“for + 时间段”或“since + 时间点”连用,表达“一直……到现在”的含义。
规则(Rule)
1. 基本结构
- 肯定句:主语 + have/has + been + 动词的现在分词(-ing)
- 例:I have been reading.
- 否定句:主语 + have/has + not + been + 动词的现在分词
- 例:She has not been sleeping.
- 疑问句:Have/Has + 主语 + been + 动词的现在分词?
- 例:Have you been waiting long?
2. 核心用法
- 强调动作的持续性:动作从过去开始,一直延续到说话时刻,可能还在继续。
- 例:They have been working on this project since March.
- 强调动作的近期影响:动作刚刚结束,但其结果或影响在现在仍然可见。
- 例:Your eyes are red. Have you been crying?
- 表达重复性动作:表示过去到现在的一段时间内反复发生的动作。
- 例:He has been calling you all morning.
3. 常见时间状语
- for + 时间段:for two hours, for a week
- since + 时间点:since 2020, since yesterday
- all + 时间:all day, all morning
- lately / recently:最近
4. 与现在完成时的区别
- 现在完成时侧重“结果”或“完成”,现在完成进行时侧重“过程”或“持续”。
- 比较:I have written three emails.(已完成三封)
- 比较:I have been writing emails all morning.(强调一直在写,可能还没写完)
例句(Examples)
-
She has been studying English for five years. 她学习英语已经五年了。(强调从过去到现在持续学习,可能还在继续)
-
It has been raining since last night. 从昨晚开始就一直下雨。(强调雨持续下到现在,没有停止)
-
I'm tired because I have been running. 我很累,因为我一直在跑步。(强调跑步刚刚结束,但疲劳的结果现在可见)
-
They have been arguing about the plan all afternoon. 他们整个下午都在争论这个计划。(强调动作反复或持续进行)