English Grammar Hub
← All topics
CEFR B2Recommended grades: 9–11

Present Perfect Continuous

01 · Quick explanation

Use it for an action that started in the past and is still happening now, or has just stopped with a visible result: I have been studying for three hours.

02 · Full explanation

Form: have/has + been + verb-ing. Use it to show duration — how long something has been happening: for three hours, since Monday, all day. It answers How long…? It often explains a present result: Her eyes are red because she has been crying. Do not use it with stative verbs (know, like, want, believe) — use Present Perfect instead: I have known him for years, not I have been knowing.

Actions still in progressDuration: for / since / all dayExplaining a visible present resultAnswering How long…?

03 · Formula

+have / has + been + V-ing
−have / has + not + been + V-ing
?How long + have / has + subject + been + V-ing?

04 · Affirmative

+ have / has + been + V-ing

  • I have been waiting for an hour.
  • She has been learning English since 2020.

05 · Negative

− have / has + not + been + V-ing

  • They haven't been sleeping well lately.
  • He hasn't been working here long.

06 · Question

? How long + have / has + subject + been + V-ing?

  • How long have you been living here?
  • Has it been raining all day?

07 · Examples

  • ENI have been studying English for three years.

    KZМен үш жылдан бері ағылшын тілін үйреніп жүрмін.

    RUЯ изучаю английский уже три года.

  • ENShe has been working here since 2019.

    KZОл 2019 жылдан бері мұнда жұмыс істеп келеді.

    RUОна работает здесь с 2019 года.

  • ENThey have been playing football all afternoon.

    KZОлар түстен кейін бойы футбол ойнап жүр.

    RUОни играют в футбол весь день.

  • ENIt has been raining since morning — the streets are wet.

    KZТаңертен бері жаңбыр жауып жүр — көшелер дымқыл.

    RUС утра идёт дождь — улицы мокрые.

  • ENHe is tired because he has been running.

    KZОл шаршаған, өйткені жүгіріп келді.

    RUОн устал, потому что бегал.

  • ENWe have been waiting for the bus for forty minutes.

    KZБіз автобусты қырық минуттен бері күтіп тұрмыз.

    RUМы ждём автобус уже сорок минут.

  • ENHow long have you been learning Kazakh?

    KZҚашаннан бері қазақ тілін үйреніп жүрсіз?

    RUКак долго вы учите казахский?

  • ENMy hands are dirty — I have been fixing my bike.

    KZҚолым кір — велосипедімді жөндеп жүрген едім.

    RUУ меня грязные руки — я чинил велосипед.

  • ENShe hasn't been feeling well this week.

    KZОл осы аптада өзін жақсы сезінбей жүр.

    RUОна неважно себя чувствует на этой неделе.

  • ENThe students have been preparing for the exam all month.

    KZОқушылар бір ай бойы емтиханға дайындалып жүр.

    RUУченики весь месяц готовятся к экзамену.

08 · Signal words

forsinceall day / all morninglatelyrecentlyhow long

09 · Common mistakes

  • ✗ I have been knowing him for years.

    ✓ I have known him for years.

    Know is a stative verb — no continuous form.

  • ✗ She has been study English for two years.

    ✓ She has been studying English for two years.

    After been use the -ing form: studying.

  • ✗ I am waiting here since morning.

    ✓ I have been waiting here since morning.

    Since + starting point → Present Perfect Continuous.

10 · Compare with similar grammar

Present Perfect vs Present Perfect Continuous

Present Perfect focuses on the result or completion (I have written three emails). Present Perfect Continuous focuses on the activity and its duration (I have been writing emails all morning).

I have read this book. (finished)

I have been reading this book. (still reading)

She has cooked dinner. (it's ready)

She has been cooking for two hours. (duration)

11 · Interactive exercises

Answer each task and press Check. Type answers in English.

0 / 10 · 0 checked

  1. 1. Choose the correct answer:

    I ___ English for three years.

  2. 2. Choose the correct answer:

    She is wet because it ___ .

  3. 3. Choose the correct answer:

    How long ___ here?

  4. 4. Choose the correct answer:

    They ___ for the exam all week.

  5. 5. Fill in the gap:

    He ___ (work) at this company since 2018.

  6. 6. Fill in the gap:

    We ___ (wait) for you for an hour!

  7. 7. Fill in the gap:

    I ___ (not / sleep) well lately.

  8. 8. Fill in the gap:

    She ___ (study) all day, so she is exhausted.

  9. 9. Correct the sentence:

    I have been knowing her since childhood.

  10. 10. Correct the sentence:

    It has been rain since morning.

12 · Mini test

Question 1 / 5

Which sentence is correct?

13 · Practice

Choose a skill to practise this topic.