过去完成进行时=had been+现在分词
过去完成进行时指的是在过去某事件前,更早的另一个动作已经持续进行了一段时间,且该动作在那时仍持续进行中。
I had been workingnonstop for seven hours before he showed up.
在他露面之前,我已经马不停蹄的工作了七个小时。
Sarah gained weight because she had been overeating.
Sarah 体重增加了,因为她一直在暴饮暴食。
Susan had been singingfor two hours when I got there.
当我到达那里时,苏珊已经唱了两个钟头。
过去完成进行时的否定句与疑问句
我们举下面例子来说明如何形成过去完成进行时的否定句与疑问句
I had been sleepingwhen you phoned。
当你打电话来时我正在睡。
否定句
I had notbeen sleeping when you phoned。
当你打电话来时我并没有在睡觉。
过去完成进行式否定句只要把not摆在been之前即可。
疑问句
Hadyou been sleeping when I called?
当我打电话来时你有没有在睡觉?
把动词片语 "had been sleeping"的第一个助动词 "had"挪到句首形成过去完成进行时的疑问句。
比较过去完成时与过去完成进行时
They had discussedfor two hours before the boss came in.
老板走进来之前,他们已讨论了两个小时。
过去完成时强调在过去某一时刻,更早的一个动作已经完成。
They had been discussingfor two hours before the boss came in.
过去完成进行时强调在过去某一时刻,更早的一个动作已经持续一段时间,且该动作在那时刻仍持续进行中。