Present perfect continuous
How to talk about an activity that started in the past and is still going on, or has only just stopped, using have been and the -ing form.
When you use it
You use the present perfect continuous for an activity that began in the past and is still going on now. It usually comes with for (a length of time) or since (a starting point): I have been living here for three years. You also use it for an activity that has only just stopped and has left a visible result: Her eyes are red. She has been crying. The form draws attention to the activity itself and how long it has lasted, not to a finished result.
How it is formed
The form is have or has, then been, then the -ing form of the main verb.
| Subject | Affirmative | Negative | Question |
|---|---|---|---|
| I / you / we / they | have been working | have not (haven't) been working | Have they been working? |
| he / she / it | has been working | has not (hasn't) been working | Has she been working? |
The -ing form follows the usual spelling rules.
| Base form | -ing form | Rule |
|---|---|---|
| work | working | add -ing |
| live | living | drop the silent -e |
| sit | sitting | double the final consonant after one stressed vowel |
| lie | lying | -ie becomes -y |
In everyday speech the short forms I've been, she's been, haven't been, hasn't been are the normal choice.
Examples
- I have been learning English for two years.
- Tom has been waiting for the bus since eight o'clock.
- It has been raining all morning, so the streets are wet.
- Anna has been working at the hospital since March.
- You look tired. Have you been sleeping badly?
- We have not been talking much lately.
- How long have you been driving?
- The children have been playing outside, and now their shoes are muddy.
Notice the two kinds of meaning. In the sentence about Anna, the activity continues: she still works at the hospital. In the sentence about the children, the activity has stopped, but you can see its result on their shoes.
Common mistakes
- ✗ I am learning English for two years.
✓ I have been learning English for two years.
Ukrainian and Russian use the ordinary present tense here: Я вчу англійську два роки / Я учу английский два года. English cannot do that. When you measure a period up to the present moment, the verb must be in a perfect form. - ✗ I have been knowing Tom since school.
✓ I have known Tom since school.
Verbs that describe states rather than activities (know, like, want, believe, own, understand) do not normally take a continuous form. Use the present perfect simple with them. - ✗ I have been reading three books this month.
✓ I have read three books this month.
When you say how many things you have completed, use the present perfect simple. The continuous form says how long an activity has lasted, not how much you have finished. The contrast is close to Slavic aspect (прочитав / прочитал against читав / читал), but in English the deciding question is whether you are counting results. - ✗ She has been working here since three years.
✓ She has been working here for three years. / She has been working here since 2023.
Ukrainian and Russian express both ideas with one phrase, вже три роки / уже три года. English separates them: for introduces a length of time, since introduces the moment when the activity started. - ✗ It is raining since the morning.
✓ It has been raining since the morning.
A present continuous verb describes only the present moment. As soon as since or for connects the activity to its beginning, you need has been raining.
Try it
- I ___ (wait) for you for an hour.
- How long ___ (she / study) German?
- Tom ___ (not / feel) well lately.
- They ___ (know) each other since school.
- Your hands are dirty. What ___ (you / do)?