现在完成进行时表示某动作从过去某个时间开始,一直延续到现在,并且还有可能持续下去。
  如:We have been waiting for him for two hours. 我们等他等了两个小时。
  现在完成进行时的结构
  现在完成进行时由“have/hasbeen+现在分词”构成。
  现在完成进行的基本用法:
  (1)现在完成进行时有时表示根据直接或间接的证据得出的结论。
  如:She is very tired. She's been typing letters all day. 她很累了,她整天都在打信件。
  Her eyes are red. She has been crying. 她眼睛红了。她一直在哭。

      (2)表示现在以前这一段时间里一直在进行的动作,这动作可能仍在进行,也可能已停止。
  如:It has been raining since last Sunday. 自上周星期日以来就一直在下雨。
  He's been watching television all day. 他看了一天电视了。
  现在完成进行时与现在完成时的区别:
  
  1、现在完成进行时通常用来谈论较短暂的动作或情况,若要谈论时间延续较长的动作或情况或永久性情况,则通常用现在完成时。
  如:He has lived in Paris. 他(一直)住在巴黎。
  He has been living in Paris. 他(目前)住在巴黎。(表暂时性)
    2、现在完成时可以表示一个已经完成的动作,而现在完成进行时则表示一个正在进行的动作。
  如:I have read the book. 我读过这本书。
  I have been reading the book.我一直在读这本书。
  有少数动词(如work, study, live, teach, stay等)在表示持续一时间时用这两种时态含义差不多(只是用现在完成进行进更强调动作的持续性)。
  如:How long have you worked [been working] here? 你在这儿工作多久了?
  I've lived [been living] here since1988. 自1988年以来我就一直住在这儿。
  3、现在完成时通常只陈述事实,而现在完成进行时还可表示一种感情色彩。
  如:I have waited for two hours. 我等了两小时。(陈述事实)
  I have been waiting for two hours. 我等了两个小时。(等得好辛苦)

    4、不用于进行时态的动词通常也不用于现在完成进行时,但它们可以用于现在完成时。
  如:They've been married for twenty years. 他们结婚已二十年了。
  The war has lasted for a long time. 这场战争持续了很长时间。
  5、现在完成进行时不用于被动语态,若要用可用现在完成时的被动语态代替。
  如:The house has been painted for a month. 这房子已漆了一个月。
  The problem has been studied for five days. 这个问题已研究了五天。