Thì hiện tại hoàn thành tiếp diễn nhấn mạnh độ dài của một hoạt động kéo dài từ quá khứ đến bây giờ – điều tiếng Việt nói bằng “Tôi học được hai tiếng rồi” hay “Tôi đang đợi, nửa tiếng rồi”.
Bạn sẽ học được gì
Thì hiện tại hoàn thành tiếp diễn (present perfect continuous) cho biết một hoạt động đã kéo dài bao lâu tính đến bây giờ, hoặc trình bày hoạt động đó như lời giải thích cho điều bạn đang thấy hay cảm nhận.
Tiếng Việt có sẵn hai mảnh ghép của thì này, chỉ là dưới dạng từ: “đang” (vẫn tiếp diễn → -ing) và “được… rồi” (một khoảng thời gian tính đến bây giờ → have been). “Tôi đang học, được hai tiếng rồi” → “I've been studying for two hours.” Cái bẫy là động từ tiếng Việt giữ nguyên, nên người học hay viết “I study for two hours” hay “I am studying for two hours”. Với khoảng thời gian kéo dài đến bây giờ, tiếng Anh không dùng thì hiện tại đơn hay hiện tại tiếp diễn: cần have/has been + -ing.
Dùng have been hoặc has been, rồi đến động từ chính thêm -ing.
Cả ba phần đều bắt buộc: have/has + been + -ing. Tiếng Việt không có trợ động từ nào tương ứng, nên been rất hay bị bỏ sót: “I have working” là sai. Dạng rút gọn: I've been, she's been (= she has been), it's been. Phủ định: haven't been / hasn't been. Câu hỏi: đưa have/has lên trước chủ ngữ: “How long have you been waiting?”
Về chính tả: trong tiếng Anh Mỹ, động từ là practice (practicing), còn tiếng Anh Anh là practise (practising). Các bài tập trong bài này dùng dạng Mỹ.
Thì này đi rất tự nhiên với how long (trong câu hỏi), for + khoảng thời gian và since + mốc bắt đầu, để nói về một giai đoạn kéo dài đến bây giờ.
Tiếng Việt cũng phân biệt hai ý này: “được ba năm rồi”, “trong ba năm” → for three years; “từ sáng nay”, “từ năm 2018” → since this morning, since 2018. Vì vậy “since three years” luôn sai. Chú ý chữ “từ”: với việc kéo dài đến bây giờ, “từ” là since, không phải from (“from this morning” là sai ở đây).
Câu hỏi “Bạn đợi bao lâu rồi?” → “How long have you been waiting?”, không phải “How long do you wait?” (câu này hỏi về một thói quen) hay “How long you are waiting?”.
Dạng tiếp diễn nhấn mạnh bản thân hoạt động và thời gian kéo dài; dạng đơn (have/has + quá khứ phân từ) nhấn mạnh kết quả hoặc việc đã xong. So sánh: “I've been reading this book” (bạn vẫn đang đọc, điều quan trọng là hoạt động) và “I've read this book” (đã đọc xong, điều quan trọng là kết quả). Gần giống “Dạo này tôi đang đọc cuốn này” và “Tôi đọc xong cuốn này rồi”.
Động từ chỉ trạng thái (know, believe, have với nghĩa “sở hữu”) giữ dạng đơn. “Tôi quen anh ấy nhiều năm rồi” → “I've known him for years”, không phải “I've been knowing him”. “Tôi có chiếc xe này từ năm 2015” → “I've had this car since 2015”, không phải “I've been having”.
Với các động từ như live, work hay study, khi có for/since, thường dùng được cả hai dạng: “I've lived here for five years” và “I've been living here for five years” gần như cùng nghĩa; dạng tiếp diễn chỉ nhấn mạnh hơn vào độ dài.
Và để giải thích điều bạn thấy bây giờ: nếu mặt đất ướt vì trời mưa suốt một lúc lâu cho đến vừa rồi, hãy nói “It's been raining.” Nếu nói về một thời điểm đã kết thúc (“hôm qua trời mưa”), là “It rained yesterday.” Tay bẩn cũng vậy: “Nãy giờ bạn làm gì thế?” → “What have you been doing?”
“Tôi đang sống ở đây mười năm rồi”: với khoảng thời gian bắt đầu trong quá khứ và vẫn còn bây giờ, tiếng Anh dùng thì hiện tại hoàn thành tiếp diễn, không dùng thì hiện tại tiếp diễn.
Động từ chỉ trạng thái như know không dùng dạng tiếp diễn: hãy dùng thì hiện tại hoàn thành. “Cô ấy quen anh ấy nhiều năm rồi” → She has known him for years.
Thì hiện tại hoàn thành tiếp diễn cần been giữa have/has và động từ -ing. Tiếng Việt không có từ tương ứng, nên rất dễ quên.
Dịch từng chữ “Tôi học tiếng Anh hai năm rồi”: thì hiện tại không dùng được ở đây, và khoảng thời gian (“hai năm”) đi với for, không phải since.
“Trời mưa từ sáng”: với việc kéo dài đến bây giờ, “từ” là since. From chỉ dùng với to: from 8 to 10.
“Bạn đợi bao lâu rồi?” hỏi về khoảng thời gian tính đến bây giờ, nên bạn cần have/has been + -ing.
“Tôi học tiếng Anh được hai năm rồi”, “Tôi đang sống ở đây mười năm rồi”: tiếng Việt nói khoảng thời gian đến bây giờ mà động từ không đổi
Trong tiếng Anh, thì hiện tại không thể diễn tả việc bắt đầu trong quá khứ và vẫn còn đến bây giờ. Bạn cần thì hiện tại hoàn thành tiếp diễn: “I've been learning English for two years”, “I've been living here for ten years”. Câu dịch từng chữ “I am living here for ten years” sai về thì; còn “I learn English since two years” sai hai chỗ: thì của động từ và since thay cho for.
“Tôi đang đợi, được một tiếng rồi”: “đang” và “được… rồi” cùng xuất hiện
Hai chữ này là gợi ý tốt nhất của bạn: “đang” (vẫn tiếp diễn) ứng với -ing, còn “được… rồi” (kéo dài đến bây giờ) ứng với have been. Ghép lại: “I've been waiting for an hour.” Khi câu tiếng Việt có cả hai ý này, hãy nghĩ ngay đến have/has been + -ing.
“Bạn đợi bao lâu rồi?”, “Tôi đợi ba tiếng rồi”, “Tôi đợi từ tám giờ”
Câu hỏi là “How long have you been waiting?”, không phải “How long do you wait?”. Khoảng thời gian đi với for, mốc bắt đầu đi với since: “I've been waiting for three hours”, “I've been waiting since eight o'clock”. Mẹo: nếu trả lời câu hỏi “bao lâu?”, dùng for; nếu trả lời “từ khi nào?”, dùng since.
💡 Khi câu tiếng Việt có “đang” và “được… rồi” (hoặc “bao lâu rồi”), tiếng Anh dùng have/has been + -ing.
💡 Khoảng thời gian → for; mốc bắt đầu (“từ…”) → since. Không bao giờ nói “since two years” hay “from this morning”.
💡 Động từ chỉ trạng thái (know, believe, have = sở hữu) giữ dạng đơn: I've known him for years.
"You look exhausted. What have you been doing?"
"I've been packing all morning — we're moving next week."
"How long have you been living in that apartment?"
"About four years now. Time flies."
Bài tập 1 · Chọn dạng đúng
I ___ for two hours — I need a break.
Bài tập 2 · Chọn các dạng đúng
How long ___ you ___ English?
Bài tập 3 · Chọn dạng đúng
She's tired because she ___ all day.
Bài tập 4 · Chọn câu đúng
Which sentence emphasizes the ongoing activity itself?
Bài tập 5 · Chọn dạng đúng
They ___ here since 2018.
Bài tập 6 · Chọn dạng đúng
Why are your hands so dirty? What ___?
Bài tập 7 · Sửa lỗi sai
Fix the mistake:
Bài tập 8 · Hoàn thành câu
Complete: We ___ (wait) for over an hour.
Bài tập 9 · Hoàn thành câu
Complete: He ___ (not/sleep) well lately.
Bài tập 10 · Sắp xếp các từ thành câu
Bài tập 11 · Chọn câu đúng
Which is correct?
Bài tập 12 · Lỗi thường gặp: dịch từng chữ “bao lâu rồi”
Vietnamese: “Bạn đợi bao lâu rồi?” Which English question is correct?
Năm câu hỏi đa dạng để kiểm tra những gì bạn đã học.
Câu 1 / 5
Điểm: 0/0
I ___ this project for three months.
Thì hiện tại hoàn thành (present perfect)
Thì hiện tại hoàn thành (have/has + V3): nối quá khứ với hiện tại mà không nói lúc nào, và vì sao “đã… rồi” không phải lúc nào cũng dịch bằng thì này.
Thì hiện tại tiếp diễn (present continuous)
Thì hiện tại tiếp diễn (be + -ing): cách tạo, khi nào dùng cho việc đang xảy ra và việc tạm thời, và vì sao động từ chỉ trạng thái tránh dạng này.
Thì hiện tại đơn (present simple)
Thì hiện tại đơn cho thói quen, sự thật và lịch trình cố định: khi nào động từ thêm -s, cách phủ định và đặt câu hỏi với do/does.
Used to cho thói quen trong quá khứ
Used to cho thói quen và tình trạng trong quá khứ nay không còn nữa: câu khẳng định, câu phủ định với didn't use to và câu hỏi với did… use to.