现在完成进行时(The present perfect progressive) 由have/has been +-ing分词构成;过去完成进行时(The past perfect progressive tenses)由had been +-ing分词构成.
现在/过去完成进行时的用法:
A.在某段时间内一直进行的动作
用现在完成进行时来强调动作在某段时间里的持续性.动作通常有”现在”的结果,要根据上下文来确定到”现在”为止,动作是否还在继续进行.例如:
She's been typing letters all day.
I've been sitting in the garden for an hour.
We've been living here for ten years.
Who's been eating my dinner?
同样,过去完成进行时表示在过去更早的时间内进行的动作,并对过去某一时刻产生结果.例如:
When I first met Ann, she had been working for Exxon for 7 years.
When she arrived I had been waiting for three hours.
I realized that I'd been overworking, so I decided to take a couple of days' holiday.
It had been raining for 3 hours before I shut the window.
"持续性动词"可用一般时形式,也可用进行时形式,唯一的区别是进行时更强调动作的持续性.例如:
We've been living here for ten years.
We've lived here for ten years.
She'd been working for Exxon for 7 years.
She had worked for Exxon for 7 years.
I had been waiting for three hours.
I had waited for three hours.
B.表示重复动作的现在/过去完成进行时
我们可以用完成进行时形式来表示现在或过去经常重复的动作.例如:
Jim has been phoning Jenny every night for the last week.