跳到主要内容

英语语法-完成进行时

现在完成进行时​

(一)到现在仍在延续的动作​

1. 与一段时间连用:强调动作的持续性,开始于过去的动作持续到现在,并且还会继续持续 常与for + 时间段、since + 时间点、all morning、all day、all week表示段时间的状语连用

​ It began raining two hours ago and it’s still raining. It has been raining for two hours.

2. 可不与时间段连用;表示最近一段时间内正在持续的活动

​ I have been thinking about changing my job. 我最近一直在考虑换工作。

(二)刚刚结束的动作​

1. 动作持续到说话为止

​ a. Where have you been? I’ve been looking for you for the last half hour.

​ b. Thank you for the binoculars. I’ve been wanting a pair for ages.

2. 不久前刚刚结束的动作(完成时没有的用法)

​ a. Your friend is out of breath. you ask, “Have you been running?”

​ b. Why are your clothes so dirty? what have you been doing?

​ c. The little boy is dirty from head to foot because he has been playing in the mud.

(三)重复发生的的动作​

说话时刻以前的一段时间内重复发生的动作

​ a. Every Sunday they meet in the same bar. They’re been going there for years.

​ b. I’ve been getting up early since I entered the college.

​ c. The price has been going up recently. I wonder whether it will remain so.

​ d. You’ve been staying up late again?

与现在完成时比较(一)​

相同点:

1. 都是延续性谓语动作live, learn, study, sleep, snow, wait, work, teach, stay

2. 与时间段连用(这时两种时态几乎没有多大的区别)

​ a. I have been learning/ have learned English for ten years.

​ b. I have been living/ have lived here since 3 years ago.

不同点:

现在完成时只与段时间连用才能表示这类动作。

a. I have worked/ have been working in this company for 3 years.

b. I have worked in this company(现在不在了,表示过去的经历)

c. I have been working in this company. (现在还在这家公司)

d. He has been sleeping/ has slept for three hours.

e. He has slept(他睡过了,所以现在不困了)

g. he has been sleeping(现在还在睡)

与现在完成时比较(二)​

完成进行时强调动作过程

完成时强调动作的结果

a. My hands are very dirty. I’ve been painting the house(理由,做的动作过程)

b. I have painted the house green. The house was white, but now it’s green.

c. Sorry about the mess--I’ve been painting the house.

与现在完成时比较(三)​

1. 短暂动词的完成进行时表示重复。

​ 短暂动词的完成时不能与一段时间的时间状语连用。但是完成进行时可以,表示重复动作

​ a. Over the past few years, many towns in the United States have been joining with neighboring communites to share the costs of government.

​ b. Over the past few years, many towns in the United States have joined with …

​ c.I’ve got up early since I entered the college.

2. 重复动作的分割性

​ 完成进行时表示不间断动作。如果要表达做事情的次数,不能用现在完成进行时

​ a. I have been sitting in class since 8 o’ clock this morning.

​ b. I have had three classes since 8 o’ clock this morning.

​ c. The phone has been ringing for almost a minute, why doesn’t someone answer it? ​ d. The phone has rung four times this mrning, and each time it has been for Clint.

与现在完成时比较(四)​

不能用进行时的动词,同样不能用现在完成进行时

a. How long have you known Jane?

b. How long have you been knowing Jane?

参考文章: 参考链接