以下内容摘自中国大百科全书出版社2002年7月第1版《中学英语语法》p.276:
现在完成进行时和现在完成时都可以表示“从过去开始一直延续到现在”这一概念,有时两者意思差不多,可互相替代。例如:
They have been living there all their lives.(=They have lived there all their lives.) 他们一生都住在那里。
但在强调动作一直在进行,即动作的延续性时,多用现在完成进行时;如在含义上着重表示动作结果时,则多用现在完成时。试比较:
1) I have been writing letters. 我一直在写信。(强调动作的延续性)
I have written three letters since breakfast. 从吃早饭到现在,我已写了三封信。(着重动作的结果)
2) He has been reading this book. 他一直在读这本书。(强调动作的延续性)
He has read this book. 他读过这本书了。(着重动作的结果)
3) We have been waiting for him for an hour. 我们等他等了一个小时。(强调动作的延续性)
We have waited for him many times. 我们等他等了好几次了。(着重动作的结果)