Thì hiện tại hoàn thành hay thì hiện tại hoàn thành tiếp diễn

B1 · Trung cấpNhững cặp dễ nhầm lẫn

I have read the book hay I have been reading the book? Kết quả đã xong hay hoạt động vẫn đang kéo dài – giống sự khác nhau giữa “đọc xong rồi” và “đọc được hai tuần rồi”.

Bạn sẽ học được gì

  • Thì hiện tại hoàn thành cho KẾT QUẢ: việc đã xong, hoặc một số lượng cụ thể
  • Thì hiện tại hoàn thành tiếp diễn cho QUÁ TRÌNH: hoạt động kéo dài bao lâu, hoặc chính bản thân hoạt động
  • Thì tiếp diễn thường dùng để giải thích tình trạng hiện tại (vì sao bạn mệt, vì sao cái gì đó bị ướt)
  • Có con số hay số lượng cụ thể (three cups, five books) thì dùng thì hoàn thành, không dùng tiếp diễn
  • “Đang… được… rồi”, “từ… đến giờ” trong tiếng Việt chuyển thành thì hiện tại hoàn thành (tiếp diễn), với for (khoảng thời gian) hoặc since (mốc bắt đầu)

Kết quả hay hoạt động đang diễn ra

Cả hai dạng đều nối một việc trong quá khứ với hiện tại. Thì hiện tại hoàn thành (have + V3) nhấn mạnh kết quả, tức là việc đã xong. Thì hiện tại hoàn thành tiếp diễn (have been + V-ing) nhấn mạnh quá trình: hoạt động đã kéo dài một thời gian và thường vẫn còn tiếp tục.

Tiếng Việt cũng phân biệt được ý này, chỉ là bằng từ ngữ chứ không bằng dạng động từ: “Tôi đọc xong quyển sách rồi” (đã đọc hết) khác với “Tôi đọc quyển sách này được một tuần rồi” hay “Dạo này tôi đang đọc quyển sách này” (hoạt động, có thể chưa xong). Chữ “xong” là dấu hiệu tốt của kết quả. Trong tiếng Anh, sự phân biệt này không phải tùy chọn: dạng động từ luôn phải thể hiện điều này.

"I have read the book. (kết quả: đã đọc xong, biết cả đoạn kết)"
"I have been reading the book. (hoạt động: đây là việc tôi làm thời gian gần đây, chưa chắc đã đọc xong)"

Thì hiện tại hoàn thành: kết quả và số lượng

Dùng thì hiện tại hoàn thành khi điều quan trọng là việc đã làm xong, hoặc việc gì đó đã xảy ra bao nhiêu lần, được bao nhiêu, nhất là khi có con số cụ thể.

Các động từ chỉ trạng thái như know, like, want, belong hay have (nghĩa là “có, sở hữu”) hầu như luôn ở thì hoàn thành, không ở tiếp diễn. Trong tiếng Việt, “quen”, “biết”, “thích” trông giống mọi động từ khác, nên rất dễ thêm -ing. “Tôi quen anh ấy mười năm rồi” là I've known him for ten years, không phải I've been knowing him.

"She has read that book. (đã đọc xong, đã cất lên kệ)"
"He has written five books this year. (số lượng cụ thể, đã hoàn thành)"

Thì hiện tại hoàn thành tiếp diễn: thời gian và quá trình

Dùng thì hiện tại hoàn thành tiếp diễn khi bạn nói một hoạt động kéo dài bao lâu, hoặc khi giải thích một tình trạng hiện tại do một hoạt động dài (có thể vừa mới dừng) gây ra.

Cấu trúc tiếng Việt quen thuộc nhất là “(đang) + động từ + được… rồi”: “Cô ấy đọc quyển sách đó được hai tuần rồi” → She has been reading that book for two weeks. Vấn đề là động từ tiếng Việt không đổi, nên câu dịch từng chữ thường ra thì hiện tại: “She is reading that book since two weeks”. Ở đây thì hiện tại không dùng được. Cũng chú ý: “được hai tuần”, “một tiếng rồi” là khoảng thời gian, nên dùng for; còn “từ năm 2018”, “từ thứ Hai”, “từ 9 giờ” là mốc bắt đầu, nên dùng since.

Với các động từ như work, live, teach hay study, khi có for/since thì thường dùng được cả hai dạng: She has worked / has been working there since 2018. Chỉ có thì hiện tại là sai: She works there since 2018.

Khi giải thích vì sao bây giờ bạn mệt, tiếng Việt chỉ cần “Tôi làm việc cả ngày”. Trong tiếng Anh, để nối hoạt động đó với trạng thái hiện tại, cách nói tự nhiên là I've been working all day, không phải I work all day hay I was working all day.

"She has been reading that book for two weeks. (vẫn đang đọc: nhấn mạnh khoảng thời gian)"
"Why are you so tired? — I've been working all day. (lý do khiến bạn mệt bây giờ)"

Mẹo kiểm tra: có con số cụ thể không?

Nếu bạn đếm một điều cụ thể (bao nhiêu lần, bao nhiêu cái), dùng thì hiện tại hoàn thành. Nếu bạn mô tả chính hoạt động, không đếm, thường dùng thì tiếp diễn.

Dấu hiệu trong tiếng Việt: “cả ngày”, “suốt buổi sáng”, “từ nãy đến giờ”, “được… rồi” + khoảng thời gian thường dẫn đến thì tiếp diễn; “xong rồi”, “ba lần”, “năm quyển sách”, “ba cốc” thường dẫn đến thì hoàn thành.

"I have had three cups of coffee today. (đếm số lượng: simple)"
"I have been drinking coffee all morning. (bản thân hoạt động: continuous)"

Tiếng Anh trong đời sống

"I've finished the report. (kết quả: đã xong rồi)"
"I've been working on the report all week. (hoạt động kéo dài: nhấn mạnh công sức và thời gian)"
"Your eyes are red — have you been crying?"
"She has written three articles this month."

Lưu ý

✗I am waiting here since one hour.
✓I've been waiting here for an hour.

“Tôi đang đợi ở đây được một tiếng rồi” không đổi động từ, nhưng tiếng Anh cần thì hiện tại hoàn thành tiếp diễn. Trước một khoảng thời gian dùng for, không dùng since.

✗I already wait for an hour.
✓I've been waiting for an hour.

“Tôi đợi một tiếng rồi”: “rồi” không dịch thành already. Ý nghĩa đó nằm trong have been waiting.

✗I have been wait for you all morning.
✓I have been waiting for you all morning.

Sau have been luôn là dạng V-ing: have been waiting, have been working, have been studying.

✗I have been having three cups of coffee today.
✓I have had three cups of coffee today.

Có con số hay số lượng đã hoàn thành thì dùng thì hoàn thành, không dùng tiếp diễn.

✗She has read that book for two weeks.
✓She has been reading that book for two weeks.

Nếu hoạt động đã kéo dài một thời gian và chưa xong (“cô ấy đọc quyển đó được hai tuần rồi”), dùng thì tiếp diễn; has read có nghĩa là cô ấy đã đọc xong.

✗How long you wait?
✓How long have you been waiting?

Dịch từng chữ từ “Bạn đợi bao lâu rồi?”. Trong tiếng Anh, câu hỏi cần have đứng trước chủ ngữ: How long have you been waiting?

✗I've been knowing him for ten years.
✓I've known him for ten years.

Động từ chỉ trạng thái như know, like hay belong không dùng ở dạng tiếp diễn. “Tôi quen anh ấy mười năm rồi” là I've known him for ten years.

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

Trong tiếng Việt, động từ giữ nguyên dù có khoảng thời gian: “Tôi đang đợi ở đây được một tiếng rồi”, “Cô ấy làm ở đó từ năm 2018”

Trong tiếng Anh, thì hiện tại đơn và hiện tại tiếp diễn chỉ mô tả lúc này. Với một khoảng thời gian kéo dài đến bây giờ, bạn cần thì hiện tại hoàn thành: “I have been waiting for an hour” (nhấn mạnh thời gian), “She has been working there since 2018” hoặc “She has worked there since 2018”. Câu “I am waiting since one hour” hay “She is working there since 2018” là sai. Chú ý cả giới từ: for + khoảng thời gian (for an hour, for two weeks), since + mốc bắt đầu (since 2018, since Monday). “Rồi” và “đã” ở đây không cần dịch thành already, vì ý nghĩa đó đã nằm trong have been.

“Bạn đợi bao lâu rồi?”, “Bạn học tiếng Anh được bao lâu rồi?”: câu hỏi mà động từ không đổi

Câu hỏi này hầu như luôn là How long + have/has + chủ ngữ + been + V-ing: “How long have you been waiting?”, “How long have you been studying English?” Không nói “How long you wait?” hay “How long are you waiting?”. Nếu câu trả lời là một kết quả hay số lượng (“Tôi đọc xong ba quyển rồi”), dùng thì hoàn thành: “I've read three books.”

“Cả ngày”, “từ nãy đến giờ”, “mấy tiếng rồi” thường dùng để giải thích tình trạng hiện tại: “Mắt đỏ thế, khóc à?”, “Mệt quá, làm cả ngày rồi”

Đây chính là chức năng của thì hiện tại hoàn thành tiếp diễn: một hoạt động kéo dài khá lâu và giải thích điều ta thấy bây giờ. “Your eyes are red — have you been crying?”, “I've been working all day.”, “I've been waiting for ages.” Đừng dịch “từ nãy đến giờ” thành “from just now” hay “since just now”; hãy dùng for a while, for ages, all day hoặc since + một mốc thời gian.

💡 Câu tiếng Việt có “được… rồi”, “từ… đến giờ”? Tiếng Anh cần have/has (been), với for + khoảng thời gian hoặc since + mốc bắt đầu.

💡 “Cả ngày”, “từ nãy đến giờ”, việc chưa xong → have/has been + V-ing.

💡 Có con số cụ thể (ba lần, năm quyển sách) hoặc “xong rồi”? Dùng thì hoàn thành. Know, like, want không dùng tiếp diễn.

Tình huống thực tế: hỏi thăm tiến độ công việc của đồng nghiệp

"How's the presentation coming along?"

"I've been working on the slides for hours — I still have the data section left."

"Have you finished the introduction, at least?"

"Yes, I've finished that part already — just the data section now."

Luyện tập

Bài tập 1 · Chọn dạng đúng

Choose the correct form: I ___ three cups of coffee today. (a completed count)

Bài tập 2 · Chọn dạng đúng

Choose the correct form: I ___ coffee all morning. (emphasis on the ongoing activity)

Bài tập 3 · Chọn dạng đúng

Choose the correct form: She ___ that book — it's on the shelf now. (finished result)

Bài tập 4 · Chọn dạng đúng

Choose the correct form: She ___ that book for two weeks. (still not finished, ongoing)

Bài tập 5 · Chọn dạng đúng

Choose the correct form: Why are you so tired? — I ___ all day.

Bài tập 6 · Chọn dạng đúng

Choose the correct form: He ___ five books this year. (a specific completed number)

Bài tập 7 · Chọn câu trả lời đúng

Which form emphasizes the RESULT or a completed quantity, rather than the ongoing activity?

Bài tập 8 · Chọn câu trả lời đúng

Which form emphasizes the DURATION or ongoing nature of an activity?

Bài tập 9 · Điền dạng đúng của động từ

Complete with the correct form of 'wait': I ___ for an hour, and the bus still hasn't come. (emphasis on duration)

Bài tập 10 · Điền dạng đúng của động từ

Complete with the correct form of 'finish': I ___ my homework, so now I can relax. (finished result)

Bài tập 11 · Lỗi thường gặp: dịch từng chữ “học… được… rồi”

Vietnamese: “Tôi học tiếng Anh được ba năm rồi.” Which English sentence is correct?

Thử thách nhanh

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

Choose the correct form: Your eyes are red — ___ you ___ ?

Bạn đã học

  • Thì hiện tại hoàn thành: nhấn mạnh kết quả, việc đã xong, hoặc một số lượng cụ thể.
  • Thì hiện tại hoàn thành tiếp diễn: nhấn mạnh thời gian hoặc quá trình, như “đang… được… rồi”.
  • Thì tiếp diễn thường giải thích một tình trạng hiện tại (mệt, mắt đỏ, bị ướt).
  • Có con số cụ thể thì dùng thì hoàn thành; động từ chỉ trạng thái như know luôn ở thì hoàn thành.
  • “Được… rồi”, “từ… đến giờ” → have/has (been) … for + khoảng thời gian / since + mốc bắt đầu, không dùng thì hiện tại.
Xem tất cả bài học trong mục này