跳到主要内容

英语语法-完成进行时

现在完成进行时

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

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?

参考文章: 参考链接