English.guru

Present Perfect Continuous: How Long Have You Been Doing It?

Have been plus -ing — the tense for how long something has been going on, and how it differs from the plain present perfect.

I have been waiting for an hour.

Not I wait, not I waited, not I have waited. This tense does one job: it connects an activity that started in the past to right now, and it puts the emphasis on the duration.

The form

have / has been + verb**-ing**

Subject Form
I, you, we, they have been working
he, she, it has been working

Negative: She hasn't been sleeping well. Question: How long have you been learning English? Short forms: I've been · he's been · they've been

For and since

These two carry most of the meaning, and mixing them up is the classic error.

  • for + a length of time: for an hour, for three years, for ages
  • since + a starting point: since Monday, since 2019, since I was ten

I've been living here for six years. · I've been living here since 2019.

Both describe the same six years. For measures the stretch; since names where it began.

Against the plain present perfect

The two are close, and the difference is one of focus.

Focus
I have painted the kitchen. the result — it's finished, it's a new colour
I have been painting the kitchen. the activity — that's why I'm covered in paint
  • She has written three emails. — three finished emails exist.
  • She has been writing emails all morning. — that is how she spent the morning.

A useful rule of thumb: if you can count it, the plain present perfect usually fits (I've read two books). If you are measuring time rather than counting results, use the continuous (I've been reading all day).

The activity may still be going on, or it may have just stopped — both are normal. I've been running can mean "and I still am" or "which is why I'm out of breath".

Explaining a present situation

This is where the tense earns its keep in real conversation. Something is visibly true now, and the continuous explains why.

  • Your eyes are red. Have you been crying?
  • The streets are wet. It has been raining.
  • I'm exhausted — I**'ve been working** since six.

State verbs stay simple

The same verbs that refuse -ing elsewhere refuse it here:

know, be, have (possess), like, believe, belong

  • I have been knowing her for years.
  • I have known her for years.

This one matters, because "how long" questions pull strongly towards the continuous — and know, be and have are exactly the verbs people want to use with them.

  • I**'ve been** here for an hour. (not "I've been being here")
  • We**'ve had** this car since 2020.

In conversation

Meeting an old friend

A: You look well. How long have you been living in Berlin?

B: Since March, so about six months. I've been learning German, but it's slow.

A: You've always been good at languages.

B: I've been saying that for years and nobody believes me.

Have been living, have been learning, have been saying all measure a stretch of time reaching the present. Have always been stays simple, because be is a state.

Try it yourself

The quiz below drills for/since, the result-versus-activity contrast, and the state verbs that never take -ing.

Test yourself: Quiz: Present Perfect Continuous →