Use the present perfect (have been, have lived, have known) or the present perfect continuous (have been + -ing) to say how long a situation has continued from the past until now.
A is and has been
Kerry is on holiday in Cornwall. She is there now.
She arrived in Cornwall on Monday. Today is Thursday.
How long has she been in Cornwall?
She has been in Cornwall since Monday, or for three days.
| Monday | ... | now (Thursday) |
|---|---|---|
| she arrived | she has been in Cornwall since Monday / for three days | she is in Cornwall now |
is = present. has been = present perfect.
- "How long have you been in Cornwall?" "Since Monday."
- She's in Cornwall now. She's been there for three days.
B Present simple or present perfect
To say how long, use the present perfect, not the present simple.
| present simple | present perfect simple (have been / have lived / have known etc.) |
|---|---|
| Tom and Ruth are married. | They have been married for twelve years. (not They are married for twelve years.) |
| Are you married? | How long have you been married? (not How long are you married?) |
| Do you know Imran? | How long have you known him? (not How long do you know him?) |
| I know Imran. | I've known him for ages. (not I know him for ages.) |
| Zara lives in Bristol. | How long has she lived in Bristol? She has lived there all her life. |
| I have a dog. | How long have you had your dog? I've had him since March. |
With a continuous action, use the present perfect continuous (have been + -ing).
| present continuous | present perfect continuous (have been + -ing) |
|---|---|
| I'm learning Welsh. | How long have you been learning Welsh? (not How long are you learning Welsh?) I've been learning Welsh for a year. |
| Dad is watching the snooker. | How long has he been watching it? He's been (= he has been) watching it since two o'clock. |
| It's snowing. | It's been (= it has been) snowing all day. |
- They've been married for twelve years.
- How long have you known Imran?
- I've had my dog since March.
- I've been learning Welsh for a year.
- It's been snowing all day.
Exercises
18.1 Complete the sentences.
Mum is in Spain. She's been there since Saturday.
Mum is in Spain. She's been there since Saturday.
I know Darren. I've known him since we were at school.
I know Darren. I've known him since we were at school.
Pete and Sue are married. They married since 2004.
Pete and Sue are married. They've been married since 2004.
Our dog is ill. He ill for a week.
Our dog is ill. He's been ill for a week.
We live in Doncaster. We there for twenty years.
We live in Doncaster. We've lived there for twenty years.
Maria works in a hospital. She in a hospital for six years.
Maria works in a hospital. She's worked in a hospital for six years.
Ollie has toothache. He toothache since last night.
Ollie has toothache. He's had toothache since last night.
I'm learning to drive. I to drive for three months.
I'm learning to drive. I've been learning to drive for three months.
18.2 Read each sentence and make a question with How long ...?
Kerry is at university.
How long has she been at university?
How long has she been at university?
Ben and Hannah are in Australia.
How long have they been in Australia?
I know Ahmed.
How long have you known Ahmed?
Freya is learning the guitar.
How long has she been learning the guitar?
My sister lives in York.
How long has she lived in York?
I'm a nurse.
How long have you been a nurse?
It's snowing.
How long has it been snowing?
18.3 Read each scene and complete the sentence. Your sentence must end with one of the phrases in the list.
for twenty minutesall morningall his lifefor thirty yearssince she was 16since Friday
An old couple are holding hands. They say: "We're married. Our wedding was thirty years ago."
They've been married for thirty years.
They've been married for thirty years.
A man says: "I live in Belfast. I was born here and I've never lived anywhere else."
He .
He's lived in Belfast all his life.
A family are sitting outside their tent. They say: "We're on holiday. We arrived on Friday."
They .
They've been on holiday since Friday.
It is 12 o'clock. Rain is pouring down the window. It started raining at 8 o'clock this morning.
It .
It's been raining all morning.
A woman is standing at a bus stop, looking at her watch. She says: "I'm waiting for the bus. I got here twenty minutes ago."
She .
She's been waiting for twenty minutes.
A woman is holding a violin. She says: "I play the violin. I started when I was 16."
She .
She's played the violin since she was 16.
18.4 Which is right? Choose the correct form.
Leah ___ (is / has been) in Italy since June.
has been
Leah has been in Italy since June.
Dan is my neighbour. I ___ (know / have known) him very well.
Dan is my neighbour. I know him very well.
Dan is my neighbour. I ___ (know / have known) him for ten years.
Dan is my neighbour. I have known him for ten years.
"Sorry I'm late. How long ___ (are you / have you been) waiting?" "Only a few minutes."
"Sorry I'm late. How long have you been waiting?" "Only a few minutes."
Kate ___ (works / has worked) in a café. She likes it there.
Kate works in a café. She likes it there.
Grandad is watching the cricket. He ___ (is / has been) watching it since lunchtime.
Grandad is watching the cricket. He has been watching it since lunchtime.
"How long ___ (do you live / have you lived) in Cardiff?" "Since 2010."
"How long have you lived in Cardiff?" "Since 2010."
"Is that a new watch?" "No, ___ (I have / I've had) it for years."
"Is that a new watch?" "No, I've had it for years."
Sophie ___ (is / has been) in Scotland at the moment. She ___ (is / has been) there since Tuesday.
Sophie is in Scotland at the moment. She has been there since Tuesday.