Công thức
Sau will luôn là have cho mọi chủ ngữ (không bao giờ là has).
By Friday, we will have finished the report.
Trước thứ Sáu chúng tôi sẽ làm xong báo cáo.
Cách dùng
1. Việc sẽ hoàn thành trước một mốc thời gian trong tương lai
By the end of this year, the company will have opened ten new stores.
Tới cuối năm nay, công ty sẽ mở được mười cửa hàng mới.
By 2030, the city will have completed its second metro line.
Tới năm 2030, thành phố sẽ hoàn thành tuyến metro thứ hai.
2. Việc sẽ hoàn thành trước một việc khác trong tương lai
Việc kia dùng hiện tại đơn (sau by the time, before, when).
By the time you arrive, the meeting will have started.
Lúc bạn tới thì cuộc họp đã bắt đầu rồi.
3. Tính tới một mốc tương lai thì sẽ được bao lâu, bao nhiêu
By next month, I will have worked here for five years.
Tới tháng sau là tôi làm ở đây được năm năm.
By the end of the tour, we will have visited 12 cities.
Tới cuối chuyến đi, chúng tôi sẽ thăm được 12 thành phố.
Dấu hiệu nhận biết
by + mốc tương lai (by Friday, by next month, by 2030, by the end of…), by the time + hiện tại đơn, before + hiện tại đơn, by then
Lỗi hay gặp
✗ By next year, I will finish my degree.
✓ By next year, I will have finished my degree.
Có by + mốc tương lai để nói việc xong trước mốc đó thì dùng will have + V3 (văn nói đôi khi dùng will + V, nhưng bài thi chọn will have + V3).
✗ By the time she will arrive, we will have left.
✓ By the time she arrives, we will have left.
Sau by the time dùng hiện tại đơn khi nói về tương lai.
✗ We will have finish the project by May.
✓ We will have finished the project by May.
Mẹo