Thì tương lai hoàn thành diễn tả một hành động sẽ hoàn tất trước một thời điểm hoặc một hành động khác trong tương lai. Bài này giải thích đầy đủ công thức will have + V3, 3 cách dùng, dấu hiệu nhận biết và cách phân biệt với thì tương lai tiếp diễn.
Thì tương lai hoàn thành (Future Perfect) dùng để diễn tả một hành động sẽ hoàn thành trước một mốc thời gian hoặc trước một hành động khác trong tương lai. Công thức: S + will have + V3/-ed; phủ định S + will not have (won't have) + V3/-ed; nghi vấn Will + S + have + V3/-ed?. Dấu hiệu nhận biết: by, by the time, by then, by next year.
Thì tương lai hoàn thành có ba dạng: khẳng định, phủ định và nghi vấn. Động từ theo sau "have" luôn ở dạng quá khứ phân từ (V3/-ed), không đổi theo chủ ngữ.
| Dạng câu | Cấu trúc | Ví dụ |
|---|---|---|
| Khẳng định | S + will have + V3/-ed | I will have finished the report by Friday. She will have graduated by June. |
| Phủ định | S + will not have (won't have) + V3/-ed | They won't have arrived by 8pm. He will not have finished his homework. |
| Nghi vấn | Will + S + have + V3/-ed? | Will you have finished by then? Will she have left before we arrive? |
Nhấn mạnh một hành động sẽ kết thúc trước một mốc thời gian được nêu rõ (một năm, một ngày, một giờ cụ thể trong tương lai).
Diễn tả một hành động sẽ hoàn tất trước khi một hành động khác (thường ở thì hiện tại đơn) xảy ra.
Dùng để nói về một khoảng thời gian sẽ đạt được (đã kéo dài bao lâu) tính đến một thời điểm trong tương lai, thường đi với "for + khoảng thời gian".
Khi thấy các từ này trong câu, rất có thể đó là thì tương lai hoàn thành:
Lưu ý: "By the time" thường đi kèm một mệnh đề ở thì hiện tại đơn (by the time you arrive...), trong khi "by" + mốc thời gian đi thẳng với năm/tháng/ngày cụ thể (by 2030, by next Friday).
❌ Sai: I will finished the report by Friday.
✅ Đúng: I will have finished the report by Friday.
Giải thích: Cấu trúc bắt buộc phải có "have" giữa "will" và động từ quá khứ phân từ (V3/-ed). Thiếu "have" là lỗi rất phổ biến vì người học nhầm với thì tương lai đơn.
❌ Sai: dùng "will be + V-ing" khi muốn nói hành động đã hoàn thành trước một mốc.
✅ Đúng: Thì tương lai tiếp diễn (will be + V-ing) nhấn mạnh hành động ĐANG diễn ra tại một mốc trong tương lai; thì tương lai hoàn thành (will have + V3) nhấn mạnh hành động ĐÃ HOÀN THÀNH trước một mốc.
Giải thích: So sánh: "At 8pm, I will be cooking dinner." (Lúc 8 giờ tối, tôi đang nấu ăn) khác với "By 8pm, I will have cooked dinner." (Đến 8 giờ tối, tôi sẽ đã nấu xong).
❌ Sai: By the time you arrive, I will finish cooking dinner.
✅ Đúng: By the time you arrive, I will have finished cooking dinner.
Giải thích: "By the time" báo hiệu hành động ở mệnh đề chính phải hoàn thành trước hành động trong mệnh đề "by the time", vì vậy phải dùng thì tương lai hoàn thành, không dùng thì tương lai đơn.
Chọn đáp án đúng. Nhấn vào đáp án để kiểm tra.
312 bài tập ngữ pháp · Miễn phí · Không cần đăng ký
Luyện ngữ pháp ngay →