一、英语过去完成进行时由“had been +现在分词”构成。它的用法是表示从过去某一时间开始一直延续到另外一个过去时间的动作,这个动作在当时仍在进行并可能继续延续下去。例如:
1.I had been having a talk with Li Hua at that time. 那时,我一直跟李华谈话。
2.I had been watching TV at home last night. 昨晚我一直在看电视。
3.My parents had been watching TV at 8:00 last night.
昨晚八点钟时我的父母亲都在看电视。
4.They had been swimming for three hours in the swimming pool this time last week.
上个星期的这个时候他们一直游泳了三个小时。
5.When the teacher came in, I had been singing.
老师进来时我一直在唱歌。
6.When my sister was watching TV , we had been having supper.
我妹妹看电视的时候,我们正吃晚饭。

二、现在完成时是一个与过去时间和现在时间都有关系的时态,因此具有这样特征的时间状语都可以与现在完成时连用。具体情况有以下几种:   
1. 与表示一段时间的状语连用如“ for +时间段”“ since +时间点”。两种结构多数可互相转换针对其提问时都用 how long ;since three days ago =for three days。例如:
1. We have lived in this city for more than 40 years.             
我们在这个城市里已经生活了40 多年。              
2. We have lived in this cit y since 1958.                
我们从 1958 年起就住在这个城市里。
3.I have been in the army for more than 5 years.
我在部队已经呆了五年多了.
4.I have learned about two hundred English words this morning.
本月我学了大约200个英语单词.
5.I have heard nothing from him up to now.
到目前为止我没有他的任何消息.
6.Have you joined the computer group?
你加入电脑小组了吗?
7.Jill has bought a new computer.
吉尔买了一台新电脑.
8.She has lost her bike.
她把自行车丢了.
9.She has taught in the school for ten years.
她在这所学校教书已经10年了.
10.He has done a lot of work in the past two years.
since 在现在完成时中意为自...以后自...以来,时间状语常用since加一个过去的时间点或for加一段时间或by加一个现在时间。 如果不是时间点 也不是时间段 还有什么别的时间啊  具体情况具体对待吧 最好会翻译句子的意思 在适当的选择for和since 比如说
1. He has had a house since 2005.  
他自从2005年以来就拥有了一套房子.       
2. The play cat has been on for half an hour.
短剧《猫》已经开演半个小时了.