1: We use the future perfect to say ‘how long’ for an action that starts before and continues up to another action or time in the future. Usually we need ‘for’. We can also use the future perfect continuous here so we often use the future perfect simple with stative verbs. If we use ‘when’, we usually need the present simple.
- When we get married, I’ll have known Robert for four years.
- At 4 o’clock, I’ll have been in this office for 24 hours.
Sometimes we could also use the present perfect in the same situation. But we like to use the future perfect to make the time an easy number.
- I’ve lived here for 11 months and three weeks. (This is correct, but the time is not an easy number.)
- On Tuesday, I will have lived here for one year. (A much easier number.)
2: We use the future perfect with a future time word, (and often with ‘by’) to talk about an action that will finish before a certain time in the future, but we don’t know exactly when.
- By 10 o’clock, I will have finished my homework. (= I will finish my homework some time before 10, but we don’t know exactly when.)
- By the time I’m sixty, I will have retired. (= I will retire sometime before I’m sixty. Maybe when I’m fifty-nine, maybe when I’m fifty-two.)