一个电影场景的情景再现
一个丈夫回家发现她妻子在一个陌生人怀里。自然,他想找出关于这段不正当关系,这段猥琐的婚外恋的一切。他问他妻子的第一个问题是:“你和他幽会多久了?”
他的问题指的不是他撞见的这一次,而是关于他们关系的长期历史。所以,现在完成进行时可以用于表达长期活动,这些活动1)要么被期待会持续,或者2)不被保证会结束。比如你可以从这个丈夫的问题中听出,他不认为他妻子和她情人的婚外恋会结束。这是因为现在完成进行时只应用于活动的/进行的事件,不管是长期事件还是短期事件。
现在,如果你想讨论一个长期的发生于过去的情况,并且不再进行,你需要用过去完成进行时,例如“ 这个女人在那一刻发现他的丈夫已经有一个情人一年了。”但这是另一个话题了。
有时我们很难区分现在完成进行时指的是一次的事件还是一个习惯性的活动。因此,“I have been playing golf”可以有两个意思。一方面,它可以指说话者说话时的那一局。另一方面,它可以指说话者在很长时间内玩的很多局。很明显,你需要上下文来明白具体意思。下面是两者的例子:
•电话:“嗨我在高尔夫场,我现在已经打了快一个小时了”
这是正在进行的一次的活动。
•电话:自从我女朋友对高尔夫产生兴趣,我就在玩高尔夫。
习惯性的/长期的活动。

现在让我们看看这两种运用现在完成进行时的情况是如何运用到这个陈述句“I've been eating ice cream”
•Sally在一个饭馆和John见面,John早来了一个小时。当她走向他的桌子时,她发现一个盛着一勺冰激凌的碗,因此得出结论他刚才在吃冰激凌。
•在这里现在完成进行时的用法指一个正在进行的活动,因为John已经开始吃冰激凌并且似乎还没吃完。但是如果他吃完了冰淇淋,我们就需用现在完成时:“当她走向他的桌子,她看到一个空碗并得出结论他刚刚吃完了他的冰淇淋。”当然,在日常用语中,很多美国人会在这种情况下说:“he just ate” 这可能是因为人们觉得没必要把他们食物消耗的时间说得那么精准。

•John打电话给Sally给她说他上几周尝试过的所有冰淇淋口味。“我最近吃了好多冰淇淋 Sally,简直不可思议。我每天都尝试一个新口味。”
•这个句子的上下文说明的John运用现在完成进行时是指习惯性活动这种情况。