Thì hiện tại hoàn thành tiếp diễn (have been + ~ing)

Present Perfect Progressive

Advanced Thì nâng cao

Thì hiện tại hoàn thành tiếp diễn dùng để nói về hành động bắt đầu từ quá khứ và vẫn đang tiếp tục đến bây giờ. Ví dụ: "Trời mưa từ sáng đến giờ" — mưa bắt đầu từ sáng và vẫn đang mưa. Cấu trúc: have/has + been + V-ing. Thì này nhấn mạnh hành động "liên tục, kéo dài" hơn thì hiện tại hoàn thành.

Cấu trúc cơ bản (have/has been + V-ing)

Thì hiện tại hoàn thành tiếp diễn dùng have/has + been + V-ing. Chủ ngữ he/she/it dùng has, còn lại dùng have. Nghĩa là "đã và đang tiếp tục làm gì đó", nhấn mạnh hành động vẫn đang diễn ra.

S + have/has + been + V-ing

I have been studying English for two hours.

Tôi đã học tiếng Anh hai tiếng rồi (vẫn đang học).

IS (Chủ ngữ)
have been studyingV (HTHTTD)
EnglishO (Tân ngữ)
for two hoursAdv (Khoảng thời gian)

She has been reading that book since morning.

Cô ấy đọc cuốn sách đó từ sáng đến giờ.

SheS (Chủ ngữ)
has been readingV (HTHTTD)
that bookO (Tân ngữ)
since morningAdv (Mốc thời gian)

It has been raining all day.

Trời mưa cả ngày rồi.

They have been waiting for the bus for 30 minutes.

Họ đã đợi xe buýt 30 phút rồi.

We have been living here since 2020.

Chúng tôi đã sống ở đây từ năm 2020.

He has been playing the piano for an hour.

Anh ấy đã chơi piano một tiếng rồi.

I have been learning Japanese since last year.

Tôi đã học tiếng Nhật từ năm ngoái.

The baby has been crying for ten minutes.

Em bé đã khóc mười phút rồi.

Chủ ngữhave/hasVí dụ
I / You / We / TheyhaveI have been running.
He / She / IthasShe has been sleeping.

"Đã làm liên tục từ lúc đó đến giờ" → dùng thì này! Rút gọn: I've been... / She's been...

Cách dùng for và since

For đi với khoảng thời gian (bao lâu), since đi với mốc thời gian (từ khi nào). Đây là hai từ dùng rất nhiều với thì hiện tại hoàn thành tiếp diễn.

I have been playing soccer for three hours.

Tôi đã chơi bóng đá ba tiếng rồi.

IS (Chủ ngữ)
have been playingV (HTHTTD)
soccerO (Tân ngữ)
for three hoursfor + khoảng thời gian

She has been dancing since 4 o'clock.

Cô ấy đã nhảy từ 4 giờ đến giờ.

SheS (Chủ ngữ)
has been dancingV (HTHTTD)
since 4 o'clocksince + mốc thời gian

He has been sleeping for 10 hours.

Anh ấy đã ngủ 10 tiếng rồi.

We have been waiting since noon.

Chúng tôi đã đợi từ trưa đến giờ.

They have been building that house for six months.

Họ đã xây ngôi nhà đó sáu tháng rồi.

I have been cooking since 3 PM.

Tôi đã nấu ăn từ 3 giờ chiều.

She has been teaching for twenty years.

Cô ấy đã dạy hai mươi năm rồi.

It has been snowing since last night.

Tuyết rơi từ tối qua đến giờ.

Phân biệtNghĩaTheo sauVí dụ
fortrong (bao lâu)Khoảng thời gian (2 hours, 3 days)for two hours
sincetừ (khi nào)Mốc thời gian (Monday, 2020)since Monday

for = "Bao lâu rồi?" (How long?). since = "Từ khi nào?" (Since when?). Nhớ cách phân biệt này!

Phân biệt với thì hiện tại hoàn thành

Thì hiện tại hoàn thành (have + pp) nhấn mạnh kết quả hoặc đã hoàn thành. Thì hiện tại hoàn thành tiếp diễn (have been + V-ing) nhấn mạnh hành động đang tiếp tục. "Đã đọc 3 cuốn sách" (kết quả) → hiện tại hoàn thành. "Đang đọc sách từ sáng đến giờ" (tiếp tục) → hiện tại hoàn thành tiếp diễn.

I have read three books this month. (Hiện tại hoàn thành)

Tháng này tôi đã đọc 3 cuốn sách. (Kết quả = mấy cuốn)

I have been reading this book all day. (HTHTTD)

Tôi đọc cuốn sách này cả ngày rồi. (Tiếp tục = vẫn đang đọc)

She has written five emails. (Hiện tại hoàn thành)

Cô ấy đã viết 5 email. (Kết quả)

She has been writing emails since morning. (HTHTTD)

Cô ấy viết email từ sáng đến giờ. (Tiếp tục)

He has painted the wall. (Hiện tại hoàn thành)

Anh ấy đã sơn xong bức tường. (Hoàn thành)

He has been painting the wall. (HTHTTD)

Anh ấy đang sơn bức tường (chưa xong). (Tiếp tục)

They have eaten all the cake. (Hiện tại hoàn thành)

Họ đã ăn hết bánh. (Hoàn thành)

They have been eating cake for an hour. (HTHTTD)

Họ đã ăn bánh một tiếng rồi. (Vẫn đang ăn)

ThìNhấn mạnhVí dụSắc thái
Hiện tại hoàn thànhKết quả, hoàn thànhI have read 3 books.Đọc xong rồi
HTHTTDHành động tiếp tụcI have been reading.Vẫn đang đọc

"Mấy cái?" "Mấy lần?" = Hiện tại hoàn thành. "Liên tục từ lúc đó đến giờ" = HTHTTD.

Động từ hành động và động từ trạng thái

Thì hiện tại hoàn thành tiếp diễn dùng với động từ hành động (run, eat, study — hành động thực sự). Động từ trạng thái (know, like, believe, belong — diễn tả trạng thái) thường không dùng ở dạng tiếp diễn. Với động từ trạng thái, dùng thì hiện tại hoàn thành.

I have been running for 30 minutes. (Hành động → OK)

Tôi đã chạy 30 phút rồi.

She has been cooking dinner. (Hành động → OK)

Cô ấy đang nấu bữa tối.

I have known him for five years. (Trạng thái → Hiện tại hoàn thành)

Tôi biết anh ấy năm năm rồi. (Không nói: have been knowing)

She has liked chocolate since she was a child. (Trạng thái → Hiện tại hoàn thành)

Cô ấy thích chocolate từ nhỏ. (Không nói: has been liking)

We have been walking for two hours. (Hành động → OK)

Chúng tôi đã đi bộ hai tiếng rồi.

They have owned this house since 2010. (Trạng thái → Hiện tại hoàn thành)

Họ sở hữu ngôi nhà này từ 2010. (Không nói: have been owning)

He has been practicing the guitar. (Hành động → OK)

Anh ấy đang luyện guitar.

I have believed in you since the beginning. (Trạng thái → Hiện tại hoàn thành)

Tôi tin bạn từ đầu. (Không nói: have been believing)

LoạiVí dụTiếp diễnDùng thì nào
Động từ hành độngrun, eat, play, study, cookOKHTHTTD được
Động từ trạng tháiknow, like, love, believe, ownKhôngDùng Hiện tại hoàn thành

know, like, love, want, believe, belong, own — đây là "trạng thái" nên không dùng tiếp diễn! I have been knowing ❌ → I have known ✅

So sánh với tiếng Việt

  • Tiếng Việt nói "...từ sáng đến giờ" hoặc "...suốt cả ngày" để diễn tả hành động liên tục. Tương đương: "Trời mưa từ sáng đến giờ" → It has been raining since morning.
  • Tiếng Việt không phân biệt rõ "đã đọc 3 cuốn" (kết quả) và "đang đọc liên tục" (tiếp tục). Tiếng Anh dùng hai thì khác nhau.
  • Tiếng Việt dùng "trong" cho for và "từ" cho since. "Trong hai tiếng" = for two hours. "Từ thứ Hai" = since Monday.
  • Tiếng Việt nói "biết" không cần thêm gì, nhưng tiếng Anh phải chú ý: know là động từ trạng thái nên không dùng been knowing.
  • Tiếng Việt dùng "vẫn đang" để nhấn mạnh hành động tiếp tục: "Vẫn đang mưa" = It has been raining. Đây chính là sắc thái của HTHTTD.

Common Mistakes

I have been study English for 3 years.

I have been studying English for 3 years.

Hiện tại hoàn thành tiếp diễn cần have/has + been + V-ing. Phải thêm "-ing" vào động từ: "studying", không phải "study".

She has been working here since 5 years.

She has been working here for 5 years.

Dùng "for" + khoảng thời gian (for 5 years), dùng "since" + mốc thời gian (since 2020). "5 years" là khoảng thời gian nên phải dùng "for".

Try it in conversation

A

Sorry I'm late! How long have you been waiting?

Xin lỗi tôi đến muộn! Bạn đợi lâu chưa?

B

I've been waiting for about 20 minutes.

Tôi đã đợi khoảng 20 phút rồi.

A

I'm so sorry! I've been stuck in traffic since 5 o'clock.

Xin lỗi! Tôi bị kẹt xe từ 5 giờ.

B

It's OK. I've been reading a book while waiting.

Không sao. Tôi đọc sách trong khi đợi.

A

How long have you been learning English?

Bạn học tiếng Anh bao lâu rồi?

B

I've been learning English since I was 7 years old.

Tôi học tiếng Anh từ lúc 7 tuổi.

A

Wow! You've been studying for a long time!

Wow! Bạn học lâu thật!

B

Yes, but I've been practicing speaking more recently.

Vâng, nhưng gần đây tôi tập nói nhiều hơn.

Fill in the blanks

I ___ been studying for two hours.

She has been ___.

They have been waiting ___ ten minutes.

He has been practicing ___ Monday.

We have been ___ in this city since 2018.

Quiz

Thì hiện tại hoàn thành tiếp diễn được tạo bằng have/has been + V-ing.

Thì hiện tại hoàn thành tiếp diễn nhấn mạnh hành động đang tiếp tục từ quá khứ đến hiện tại.

"She has been reading since morning." diễn tả hành động liên tục.

Related Topics

Leolin mascot

Practice speaking English in the app

Practice English conversation with AI. Download for free!

Free Download