How long have you (been) ...?
A. Study this example situation:
Bob and Alice are married. They got married exactly 20 years ago,
so today is their 20th wedding anniversary.
They have been married for 20 years.
We say: They are married. (present)
but How long have they been married? (present perfect) (not 'How long are they married?')
They have been married for 20 years. (not 'They are married for 20 years')
We use the present perfect to talk about something that began in the past and still
continues now. Compare the present and the present perfect:
* Amy is in hospital.
but She has been in hospital since Monday. (not 'Amy is in hospital since Monday')
* We know each other very well.
but We have known each other for a long time. (not 'we know')
* Are you waiting for somebody?
but How long have you been waiting?
B. I have been doing something
(present perfect continuous) = 'I started doing something in the past
and I am still doing it (or have just stopped)':
* I've been learning English for a long time. (not 'I am learning')
* Sorry I'm late. Have you been waiting long?
* It's been raining since I got up this morning.
The action can be a repeated action:
* 'How long have you been driving?' 'Since I was 17.'
C. I have done (simple) or I have been doing (continuous)
The continuous is more usual with how long, since and for :
* I've been learning English for a long time. (not usually 'I've learnt')
You can normally use either the continuous or simple with live and work:
* John has been living/has lived in London for a long time.
* How long have you been working/have you worked here?
But we use the simple with always:
* John has always lived in London. (not 'has always been living')
You can use the continuous or the simple for actions repeated over a long period:
* I've been collecting/I've collected stamps since I was a child.
Some verbs (for example, know/like/believe) are not normally used in the continuous:
* How long have you known Jane? (not 'have you been knowing')
* I've had a pain in my stomach since I got up this morning.
D. We use the present perfect simple in negative sentences like these:
* I haven't seen Tom since Monday. (= Monday was the last time I saw him)
* Jane hasn't phoned me for two weeks. (= the last time she phoned was two weeks ago)
EXERCISES
11.1 Are the underlined verbs right or wrong? Correct them if they are wrong.
1. Bob is a friend of mine. _I know him_ very well. RIGHT
2. Bob is a friend of mine. _I know him_ for a long time. WRONG: I've known him.
3. Sue and Alan _are married_ since July. ---
4. The weather is awful. _It's raining_ again. ---
5. The weather is awful. _It's raining_ all day. ---
6. I like your house. How long _are you living_ there? ---
7. Graham _is working_ in a shop for the last few months. ---
8. I'm going to Paris tomorrow. _I'm staying_ there until next Friday. ---
9. 'Do you still smoke?' 'No, I gave it up. _I don't smoke_ for years.' ---
10. That's a very old bicycle. How long _do you have_ it? ---
11.2 Read the situations and write questions from the words in brackets.
1. John tells you that his mother is in hospital. You ask him:
(how long/be/in hospital?)
How long has your mother been in hospital?
2. You meet a woman who tells you that she teaches English. You ask her:
(how long/teach/English?)
3. You know that Jane is a good friend of Carol's. You ask Jane:
(how long/know/Carol?)
4. Your friend's brother went to Australia some time ago and he's still there. You ask your friend:
(how long/be/in Australia?)
5. Tim always wears the same jacket. It's a very old jacket. You ask him:
(how long/have/that jacket?)
6. You are talking to a friend about Alan. Alan now works at the airport. You ask your friend:
(how long/work/at the airport?)
7. A friend of yours is having driving lessons. You ask him:
(how long/have/driving lessons?)
8. You meet somebody on a train. She tells you that she lives in Glasgow. You ask her:
(always/live/in Glasgow?)
11.3 Complete Bs answers to A's questions.
1. A: Amy is in hospital, isn't she?
B: Yes, she has been in hospital since Monday.
2. A: Do you see Ann very often?
B: No, I haven't seen her for three months.
3. A: Is Margaret married?
B. Yes, she --- married for ten years.
4. A: Are you waiting for me?
B: Yes, I --- for the last half hour.
5. A: You know Linda, don't you?
B: Yes, we --- each other for ages.
6. A: Do you still play tennis?
B: No, I --- tennis for years.
7. A: Is Jim watching TV?
B: Yes, he --- TV all evening.
8. A: Do you watch TV a lot?
B: No, I --- TV for a long time.
9. Have you got a headache?
B: Yes, I --- a headache all morning.
10. A: George is never ill, is he?
B: No, he --- ill since I've known him.
11. A: Are you feeling ill?
B: Yes, I --- ill since I got up.
12. Sue lives in London, doesn't she?
B: Yes, she --- in London for the last few years.
13. Do you still go to the cinema a lot?
B: No, I --- to the cinema for ages.
14. Would you like to go to New York one day?
B: Yes, I --- to go to New York. (use always/want)