how long have you (been) … ?

Learn and practise the model how long have you (been) … ?


how long have you (been) … ?

We use the present perfect to talk about something that began in the past and still continues now.

Compare the present and present perfect:

  • Paul is in hospital.
    He’s been in hospital since Monday. (= He has been …)
    (not Paul is in hospital since Monday)
  • We know each other very well.
    but We’ve known each other for a long time.
    (not We know)
  • Do they have a car?
    How long have they had their car?
  • She’s waiting for somebody.
    She hasn’t been waiting very long.
B I’ve known / I’ve had / I’ve lived etc. is the present perfect simple.
I’ve been learning / I’ve been waiting etc. is the present perfect continuous.

When we ask or say ‘how long’, the continuous is more usual:

  • I’ve been learning English since January.
  • It’s been raining all morning.
  • Richard has been doing the same job for 20 years.
  • How long have you been driving?’

Some verbs (for example, know and like) are not normally used in the continuous:

  • How long have you known Jane? (not have you been knowing)
    I’ve had these shoes for ages. (not I’ve been having)
B You can use either the continuous or simple with live and work:

  • Julia has been living in this house for a long time. or Julia has lived
  • How long have you been working here? or How long have you worked here?

But we use the simple (have lived etc.) with always:

  • I’ve always lived in the country. (not always been living)
D We say ‘I haven’t (done something) since/for …’ (present perfect simple):

  • I haven’t seen Tom since Monday. (= Monday was the last time I saw him)
  • Sarah hasn’t phoned for ages. (= the last time she phoned was ages ago)