Công thức have/has been + V-ing, 3 cách dùng chính, phân biệt với thì hiện tại hoàn thành — giải thích đầy đủ bằng tiếng Việt kèm bài tập.
Thì hiện tại hoàn thành tiếp diễn (Present Perfect Continuous) nhấn mạnh QUÁ TRÌNH và khoảng THỜI GIAN của một hành động bắt đầu trong quá khứ và còn kéo dài đến hiện tại. Công thức: S + have/has been + V-ing (dùng have với I/You/We/They, has với He/She/It). Dấu hiệu nhận biết: for (khoảng thời gian), since (mốc bắt đầu), all day, all morning, how long, lately, recently.
Thì hiện tại hoàn thành tiếp diễn (Present Perfect Continuous / Present Perfect Progressive) diễn tả hành động bắt đầu trong quá khứ, vẫn đang tiếp tục đến hiện tại, hoặc vừa mới kết thúc nhưng để lại kết quả nhìn thấy được. Thì này đặc biệt nhấn mạnh vào thời gian và quá trình của hành động.
| Dạng câu | Công thức | Ví dụ |
|---|---|---|
| Khẳng định | S + have/has been + V-ing | I have been learning English for 3 years. |
| Phủ định | S + haven't/hasn't been + V-ing | She hasn't been feeling well lately. |
| Nghi vấn | Have/Has + S + been + V-ing? | Have you been waiting long? |
| Trả lời ngắn | Yes, S + have/has. / No, S + haven't/hasn't. | Yes, I have. / No, she hasn't. |
| Trợ động từ | Chủ ngữ | Dạng phủ định |
|---|---|---|
| HAVE | I, You, We, They | haven't been + V-ing |
| HAS | He, She, It + danh từ số ít | hasn't been + V-ing |
Thì này có 3 cách dùng chính:
Đây là cách dùng phổ biến nhất. Hành động đã bắt đầu từ trước và vẫn chưa kết thúc — vẫn đang tiếp diễn tại thời điểm nói. Thường dùng với for (khoảng thời gian) hoặc since (mốc thời gian).
Hành động vừa xảy ra xong và chúng ta có thể thấy bằng chứng hoặc kết quả ngay lúc này. Cách dùng này không cần for/since.
Khi muốn nhấn mạnh rằng một hành động đã diễn ra liên tục, không ngừng trong một khoảng thời gian dài.
Hai từ for và since là dấu hiệu đặc trưng nhất của thì này:
| Từ | Dùng với | Ví dụ |
|---|---|---|
| FOR | Khoảng thời gian (duration): 3 years, two hours, a long time, ages... | for 3 years, for two months, for a week |
| SINCE | Mốc thời gian bắt đầu (starting point): 2020, Monday, I was a child... | since 2020, since Monday, since I was born |
Hãy nghĩ đơn giản: FOR = bạn đo đếm thời gian (for 3 years = 3 năm). SINCE = bạn chỉ ra điểm xuất phát (since 2020 = bắt đầu từ năm 2020).
Đây là điểm khó nhất khi học 2 thì này. Cả hai đều dùng have/has, nhưng trọng tâm khác nhau:
| Tiêu chí | Hiện Tại Hoàn Thành (HTHTH) | HTHTH Tiếp Diễn (HTHTTTD) |
|---|---|---|
| Công thức | S + have/has + V3 | S + have/has been + V-ing |
| Nhấn mạnh | KẾT QUẢ đã hoàn thành | QUÁ TRÌNH, THỜI GIAN diễn ra |
| Ví dụ | I have written 5 emails. (Đã viết xong 5 email — kết quả) | I have been writing emails all morning. (Viết email cả buổi sáng — quá trình) |
| Hành động | Đã hoàn tất | Còn đang tiếp diễn hoặc vừa mới dừng |
| Với for/since | Dùng được nhưng ít phổ biến hơn | Dùng thường xuyên, đặc trưng |
| Câu hỏi | How many/much? (bao nhiêu) | How long? (bao lâu) |
Ví dụ tương phản rõ ràng:
Ít tự nhiên: I have lived here for 5 years. (đúng ngữ pháp nhưng không nhấn mạnh quá trình)
Tự nhiên hơn: I have been living here for 5 years.
Giải thích: Khi dùng for/since để nhấn mạnh thời gian liên tục, HTHTTTD thường tự nhiên hơn.
Sai: I have been knowing him for years.
Đúng: I have known him for years.
Giải thích: Các động từ trạng thái như know, love, hate, believe, want, own... không dùng ở dạng tiếp diễn. Dùng Present Perfect thông thường.
Sai: I have been studying since 3 years.
Đúng: I have been studying for 3 years. / ... since 2021.
Giải thích: FOR + khoảng thời gian (3 years). SINCE + mốc thời gian (2021).
Bài tập tương tác, trò chơi và SRS giúp bạn ghi nhớ ngữ pháp lâu hơn
Bắt đầu học miễn phí →