📚
Danh sách bài học
Bài 9B1Hiện tại hoàn thành và Quá khứ

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

Present perfect continuous (I have been doing)

A

Cấu trúc và cách lập câu

Dùng hiện tại hoàn thành tiếp diễn để nói về hành động bắt đầu trong quá khứ và kéo dài đến hiện tại, hoặc vừa kết thúc với dấu hiệu còn thấy. Thì này nhấn mạnh quá trình và thời lượng của hành động. Thường đi với for, since, recently, lately, how long. Trong câu phủ định và nghi vấn, dùng trợ động từ have/has trước been.

Khẳng định: S + have/has + been + V-ing; Phủ định: S + haven't/hasn't been + V-ing; Nghi vấn: Have/Has + S + been + V-ing?
Subjecthave/hasShort form
IhaveI've
he/she/ithashe's/she's/it's
we/you/theyhavewe've/you've/they've
  • I've been studying English for three years.

    Tôi đã học tiếng Anh được ba năm (và vẫn đang học).

  • She's been cooking phở since 8 a.m.

    Cô ấy nấu phở từ 8 giờ sáng đến giờ.

  • We haven't been sleeping well lately.

    Dạo này chúng tôi ngủ không ngon.

  • How long have you been waiting for the bus?

    Bạn đã đợi xe buýt bao lâu rồi?

  • It's been raining all afternoon.

    Trời đã mưa suốt cả buổi chiều.

B

Cách dùng 1 – Nhấn mạnh thời lượng và hành động đang tiếp diễn

Dùng để nói về hành động bắt đầu trước đây và vẫn đang tiếp tục, thường đi với for (khoảng thời gian), since (mốc thời gian), all day/week, how long. Người nói tập trung vào quá trình diễn ra, không khẳng định đã hoàn thành. Dùng tự nhiên khi muốn nói “làm được bao lâu rồi”.

  • I've been living in Da Nang since 2021.

    Tôi sống ở Đà Nẵng từ năm 2021 đến nay.

  • He's been learning to drive for two months.

    Anh ấy học lái xe được hai tháng rồi.

  • We've been queuing for milk tea for 30 minutes.

    Chúng tôi đã xếp hàng mua trà sữa 30 phút rồi.

  • How long have they been dating?

    Họ hẹn hò bao lâu rồi?

  • My mom hasn't been feeling well since Monday.

    Mẹ tôi thấy không khỏe từ thứ Hai.

C

Cách dùng 2 – Hành động vừa kết thúc, còn thấy “dấu vết”

Dùng khi hành động có thể vừa dừng nhưng ảnh hưởng vẫn thấy trong hiện tại (mồ hôi, mùi, sự bừa bộn, tay bẩn...). Kiểu câu này thường trả lời cho câu hỏi “vì sao bây giờ như thế?”. Tập trung vào quá trình vừa diễn ra, không nhấn mạnh kết quả đã hoàn tất.

  • Sorry I'm sweaty. I've been cycling.

    Xin lỗi tôi đang đổ mồ hôi. Tôi vừa đạp xe xong.

  • Why are your fingers orange? Have you been eating chips?

    Sao ngón tay bạn vàng thế? Bạn vừa ăn bim bim à?

  • The kitchen smells great. Who's been baking?

    Bếp thơm quá. Ai vừa nướng bánh vậy?

  • You're out of breath. Have you been running up the stairs?

    Bạn thở dốc. Bạn vừa chạy lên cầu thang à?

  • The table is covered with papers. We've been preparing for the meeting.

    Bàn phủ đầy giấy tờ. Chúng tôi vừa chuẩn bị cho cuộc họp.

D

So sánh nhanh với hiện tại hoàn thành đơn + Lưu ý động từ trạng thái

Hiện tại hoàn thành tiếp diễn nhấn mạnh quá trình/thời lượng hoặc sự lặp lại; hiện tại hoàn thành đơn nhấn mạnh kết quả/số lần/đã xong. Nhiều động từ trạng thái (know, believe, like, own, understand, be) không dùng ở dạng tiếp diễn, nên dùng hiện tại hoàn thành đơn với since/for. Với động từ hành động, cả hai thì đều có thể dùng nhưng mang nghĩa nhấn mạnh khác nhau.

  • I've been reading this report for two hours.

    Tôi đã đọc bản báo cáo này được hai giờ.

    Nhấn mạnh quá trình/thời lượng

  • I've read the report.

    Tôi đã đọc xong bản báo cáo.

    Nhấn mạnh kết quả/hoàn thành

  • I have been calling him all morning, but he hasn't answered.

    Tôi gọi cho anh ấy cả buổi sáng rồi nhưng anh ấy chưa nghe máy.

    Hành động lặp lại kéo dài

  • She has known him since high school.

    Cô ấy quen/biết anh ấy từ thời cấp ba.

    Động từ trạng thái 'know' không dùng tiếp diễn

  • We've had this motorbike for five years.

    Chúng tôi có chiếc xe máy này được năm năm rồi.

    Sở hữu (have) không dùng tiếp diễn

Lỗi thường gặp

I am studying English for three years.I have been studying English for three years.

Không dùng hiện tại tiếp diễn với for để nói hành động bắt đầu trong quá khứ và kéo dài; phải dùng hiện tại hoàn thành tiếp diễn.

I have studying English for two hours.I have been studying English for two hours.

Thiếu 'been'. Cấu trúc đúng là have/has + been + V-ing.

I have been knowing her since 2018.I have known her since 2018.

'Know' là động từ trạng thái, không dùng dạng tiếp diễn. Dùng hiện tại hoàn thành đơn với since/for.