现在完成时讲解(现在完成进行时的用法)
现在完成进行时的用法一:
与一段时间连用,强调动作的持续性,表示过去的动作一直持续到现在,而且还可以继续持续下去(完成时则表示“动作持续到说话时为止”)。
这时完成进行时和for+时间段、since+时间点、all morning、all day等表示一段时间的时间状语连用,强调这一时间活动在持续。
例句:1. We have been studying here since 2012.
自从2012年以来,我们一直在这里学习.
2. It has been snowing since 10 o’clock.
从十点钟开始,一直在下雪。
3. Lisa has been waiting for me for nearly 3 hours.
Lisa一直在等我,等了将近三个小时。
4. She has been sweeping the street all day.
她一整天都在扫大街.
注意:现在完成进行时也可以用不带具体表示一段时间的时间状语,这时候它表示最近一段时期正在持续的一般性活动。
例如:I have been thinking about going abroad.
我最近想着要出国。
2. He has been trying to finish the task.
他一直在试图完成这项任务。
和现在完成时相比,它们的相同点有两个:
1. 谓语动词都是表示持续性的词,如study、live、stay、wait等。
2. 都与“一段时间”连用。
比如:I have been learning Chinese for 7 years.和I have learned Chinese for 7 years.其实二者的意思是没有多大的区别的。
现在再来说它们的区别:
还是上面的两句话:I have been learning Chinese for 7 years.和I have learned Chinese for 7 years.
现在完成时只有加上了时间段才和现在完成时的意思一样。
如果没有时间段,I have learned Chinese.表示的是学习汉语的这段经历,而“现在已经不学了”。但是I have been learning Chinese.(我一直在学习汉语)则表示现在也还在学习汉语。
再看个例子:
She has been sleeping for three hours.=She has slept for three hours.(她睡了三个小时,还在继续睡。)
She has slept.(她睡过了,现在不困了)
She has been sleeping.(她睡过了,现在还在睡)
也就是说,现在完成进行时可以与一段时间连用,也可以不连用,都可以表达“一直在持续的动作”。
由以上的区别,也可以得出这样一个结论,现在完成进行时强调动作过程,而现在完成时强调动作结果。
She has been sleeping强调“一直在睡觉”这一动作过程;
而she has slept.强调睡觉的结果(不困了)。
用法二:表示开始于过去的动作持续到现在不再持续或者刚刚结束。
例句:1. I have been trying to study for the last minute.
我试图一直学习到最后一分钟。
2.What have you been doing?
你刚刚在干什么?
用法三:表示重复发生的动作。
例句:The price has been going up recently.
物价最近一直在涨。
注意:短暂动词是可以和现在完成进行时的“一段时间”连用的,表示重复的动作。
现在来比较这两个句子:I have been getting up early over the past years.
近几年,我一直早起。
I have got up early for years.这句话就是有问题的,不正确。
注意:有些词语不能用于进行时态,那么这样的单词也不能用于完成进行时态,因为完成进行时也属于进行时。
比如:How long have you known Jim?
你了解Jim多久了?
不能说成:How long have you been knowing Jim?因为know这样的心理活动的动词没有进行时。
你学会了吗?