have been是be的现在完成时形式,通常可与表示职业的名词连用,也可和表示地点的介词短语连用。还可与away,back等小品词连用。
1.have been 与表示职业的名词连用,用来询问或说明某人所从事的职业。
Have you ever been a worker?你曾经当过工人吗?
I've been a teacher before. 以前我曾经是一位老师。
2.have been也用来表示天气
It has been cold since last yesterday. 自从昨天以来,天气一直很冷。
The train has been gone (for half an hour). 火车开走了(半小时了)
3.和表示地点的介词短语连用,相当于汉语的“过”、“来”、“到”、“在”等不同动词的意思。
How long have you been at the school?
你在/到/来这所学校多久了?
They have been in beijing for more than two years.
他们来北京两年多了。
4.have been可以与away, back, in, on, out, over等连用,相当于一个表示动作动词的现在完成时的用法,表示某种状态。当这种状态与for等表示段时间的短语连用时,表示这个状态的延续时间。
The film has been on (for half an hour). 电影开演(半小时)了。
5.have been后接动词的现在分词,为现在完成进行时,强调从过去某一时间到现在为止的一段时间内一直进行或反复多次发生的动作。这个动作到说话时是否停止, 视上下 文或当时语言环境而定。
He has been working in that school for five years.
他在这学校工作五年了。
6.have been +及物动词的过去分词。为现在完成时被动语态的形式,表示一个已完成的被动动作。
Man-made satellites have been sent up into space by many countries.
人造卫星已经被很多国家发射到了太空。