Use have/has been + -ing for an activity that has recently stopped and left evidence behind, and for an activity that started in the past and is still going on, especially with how long, for and since.
A It's been raining: an activity that has just stopped
Is it raining? No, but the pavements are wet and there are puddles everywhere.
It's been raining. (= It has been raining.)
The form is have/has been + -ing:
| Subject | have / has | been | -ing |
|---|---|---|---|
| I / we / you / they | have ('ve) | been | doing, working, learning |
| he / she / it | has ('s) | been | doing, working, learning |
Use it for an activity that has recently stopped or just stopped. Usually there is something to show for it now: wet pavements, tired legs, a sink full of dishes.
- Why are you so red in the face? Have you been running?
- Lauren is exhausted. She's been working nights all week.
- Why is your hair wet? What have you been doing?
- I've been speaking to the landlord, and he says he'll fix the window.
- There you are! I've been looking for you.
B It's been raining for two hours: an activity still going on
It started raining two hours ago, and it is still raining.
How long has it been raining? It's been raining for two hours.
Use the present perfect continuous in this way especially with how long, for and since. The activity is still happening, or it has only just stopped.
It also works for repeated actions over a period up to now.
- How long have you been learning to drive? (= you are still learning)
- Nathan is on the sofa. He's been watching football all afternoon.
- Where have you been? I've been waiting for you for the last forty minutes.
- My nan hasn't been sleeping well recently.
- Alys is a very good swimmer. She's been swimming since she was six.
- Every Friday they meet in the same pub. They've been going there for years.
C Compare: I am doing and I have been doing
| Present continuous (am/is/are + -ing): happening now | Present perfect continuous (have/has been + -ing): up to now |
|---|---|
| Please be quiet. I'm working. | I've been working all morning. Now I'm going to have a break. |
| Take a coat. It's raining. | The ground is wet. It's been raining. |
| Come on! We're waiting. | We've been waiting for half an hour. |
- Please be quiet. I'm working.
- I've been working all morning. Now I'm going to have a break.
- Take a coat. It's raining.
- The ground is wet. It's been raining.
Exercises
9.1 What have these people been doing, or what has been happening? Each scene describes earlier and now.
Earlier: rain was pouring down. Now: the sky is clear, but there are puddles all over the pavement.
It's been raining.
It's been raining.
Earlier: a woman was jogging round the park. Now: she is sitting on a bench, red in the face and out of breath.
She .
She's been running.
Earlier: two men were digging a vegetable patch. Now: they are leaning on their spades, covered in mud.
They .
They've been digging.
Earlier: a man was painting a fence. Now: he is having a cup of tea, and there is paint all over his hands and his jeans.
He .
He's been painting.
9.2 Write a question for each situation, using the words in brackets.
You meet Leon as he is coming out of the gym. You say: Hi, Leon. (you / train?)
Have you been training?
Hi, Leon. Have you been training?
You arrive twenty minutes late to meet Aisha outside the cinema. You say: Sorry I'm late, Aisha. (you / wait / long?)
Sorry I'm late, Aisha. Have you been waiting long?
Your daughter comes in from the garden with mud on her face, her hands and somehow her ears. You say: Why are you so muddy? (what / you / do?)
Why are you so muddy? What have you been doing?
You go into a bakery and see your old friend Paddy behind the counter. You didn't know he worked there. You say: Hi, Paddy. (how long / you / work / here?)
Hi, Paddy. How long have you been working here?
A friend tells you that he teaches the guitar in the evenings. You say: You teach the guitar? (how long / you / do / that?)
You teach the guitar? How long have you been doing that?
9.3 Read the situations and complete the sentences, using the words in brackets.
It's snowing. The snow started three hours ago. (It ... for three hours.)
It's been snowing for three hours.
It's been snowing for three hours.
We're queueing for tickets. We joined the queue forty minutes ago. (We ... for forty minutes.)
We've been queueing for forty minutes.
I'm learning the guitar. I started lessons in September. (I ... since September.)
I've been learning the guitar since September.
Ryan is working at the garage on the High Street. He started there on 3 March. (... since 3 March.)
Ryan has been working at the garage since 3 March.
My parents always go to Wales at Easter. The first time was decades ago. (... for decades.)
My parents have been going to Wales for decades.
9.4 Put the verb into the present continuous (am/is/are + -ing) or the present perfect continuous (have/has been + -ing).
Dominic has been playing (Dominic / play) the drums for six years.
Dominic has been playing the drums for six years.
Hiya, Fran. (I / try) to ring you all morning. Is your phone off?
Hiya, Fran. I've been trying to ring you all morning. Is your phone off?
Why (you / laugh)? What's so funny?
Why are you laughing? What's so funny?
Mr Ahmed is a driving instructor. (he / teach) people to drive for twenty years.
Mr Ahmed is a driving instructor. He's been teaching people to drive for twenty years.
(I / think) about your offer, and I've decided to accept it.
I've been thinking about your offer, and I've decided to accept it.
"Is Carla off sick today?" "No, (she / work) from home."
"Is Carla off sick today?" "No, she's working from home."
Pete looks exhausted. (he / train) for a marathon recently.
Pete looks exhausted. He's been training for a marathon recently.
You shouldn't eat while (you / drive).
You shouldn't eat while you're driving.
Our neighbours (build) an extension for the last six months.
Our neighbours have been building an extension for the last six months.