Если мы используем маркеры времени by или when, а также другие союзы времени, после них не употребляется будущее время. Его нужно заменить настоящим.
Например: When you come to see us next month, we will have been living in our new apartment for two years already. – Когда вы приедете навестить нас в следующем месяце, мы уже будем жить в своей новой квартире два года.
Сравнение временных форм. Future Perfect vs Future Perfect Continuous
Чтобы понять разницу в использовании
future perfect and future perfect continuous, давайте сравним по значению три следующих предложения:
I will be cleaning my apartment when you come to see me at noon tomorrow. – Я буду делать уборку в квартире, когда ты придешь ко мне завтра в полдень.
Используя Future Continuous, мы подчеркиваем только длительность действия в определенный момент будущего.
I will have cleaned my apartment when you come to see me at noon tomorrow. – Я уже уберу в квартире, когда ты придешь ко мне завтра в полдень.
Используя Future Perfect Simple, мы делаем акцент на том, что будет получен результат до указанного момента в будущем.
I will have been cleaning my apartment for two hours when you come to see me at noon tomorrow. – До того времени, когда ты придешь ко мне завтра в полдень, я уже два часа буду делать уборку в квартире.
Таким образом, используя Future Perfect Continuous, мы, в первую очередь, рассказываем о длительности действия, а уже потом – о его результате на определенный момент будущего времени. Но совсем не факт, что такое действие будет завершено.
Подводя итоги сказанного выше, нужно подчеркнуть, что когда мы анализируем использование future perfect vs future perfect continuous, несмотря на кажущуюся взаимозаменяемость этих форм, следует помнить, что при использовании Future Perfect Continuous мы не всегда будем иметь в виду окончание действия.