现在完成进行时的结构:have/has been doing
过去完成进行时的结构:had been doing
现在完成进行时的用法1:与一段时间连用,表示过去的动作持续到现在,并且还将继续持续下去。
例句:It has been snowing for almost 2 days.下了两天的雪(可能现在还在下)
过去完成进行时的用法1:强调到过去为止,某一活动或动作一直在持续,可能仍然持续下去。
例句:It had been snowing for 2 days when I arrived in Hei Longjiang.
当我到黑龙江的时候,下了两天的雪了。(可能当时仍然还在下雪)
现在完成进行时用法1
过去完成进行时用法1
现在完成进行时的用法2:表示开始于过去的动作持续到现在为止不再持续,或者刚刚结束的动作。
例句:I am sorry. I am late. Having you been waiting long?
我很抱歉。我来晚了。你等了很久吧?(现在已经不再等待了)
过去完成进行时的用法2:强调过去的某一活动或者时间之前一直在持续的动作到过去的时间为止,或者在过去时间刚刚结束。
例句:When she arrived, I had been waiting for 2 hours.
当她到的时候,我已经等了两个小时了。(当她到的时候不再等待了)
现在完成进行时用法2
过去完成进行时用法2
现在完成进行时的用法3:表示重复发生的动作——就是说话时间以前一段时间内重复发生的动作。
例句: I have been getting up early since I entered the No.1 Middle School.
自从我上第一中学之后,我一直早起。
过去完成进行时的用法3:表示重复发生的动作——就是表示过去每一活动或者时间之前一段时间内重复发生的动作。
例句:I had been trying to call her on the phone. Finally she gave me a call.
我一直试图给她打电话,最后她给我打了电话。
但是注意,重复的动作不能说出具体次数。
比如:I had been trying six times to call her on the phone.这样是错误的。
可以这样表达:I had tried six times to call her on the phone.
你了解了吗?