Công thức
- Khẳng định: S + will have been + V-ing
- Phủ định: S + will not (won't) have been + V-ing
- Nghi vấn: Will + S + have been + V-ing?
Cách dùng
- Diễn tả hành động sẽ kéo dài liên tục đến một mốc trong tương lai, nhấn mạnh thời lượng: By next month, I will have been teaching here for ten years (Đến tháng sau, tôi sẽ dạy ở đây được mười năm).
- Thường đi kèm by + mốc tương lai và for + khoảng thời gian để làm rõ độ dài.
- Có thể dùng để nói về nguyên nhân của một trạng thái trong tương lai, nhưng cách dùng này ít gặp.
- Khác tương lai hoàn thành: will have + V3 nhấn kết quả đã xong, will have been + V-ing nhấn quá trình kéo dài.
Dấu hiệu nhận biết
- by + mốc tương lai + for + khoảng thời gian: by 2030, for fifteen years
- by the time + mệnh đề hiện tại đơn + for + khoảng thời gian
- when + mệnh đề hiện tại đơn, đi cùng một khoảng thời gian kéo dài
Lỗi thường gặp
- Nhầm với will have + V3: nếu câu có for + khoảng thời gian và nhấn kéo dài thì phải dùng will have been + V-ing.
- Chia will trong mệnh đề by the time: sai By the time you will finish, đúng By the time you finish.
- Dùng với động từ trạng thái như know, own, belong.
- Viết sai trật tự: sai will be have been working, đúng will have been working.