表示到将来某个时间为止势必会完成或预计要完成的动作,由"will [shall]+have+过去分词"构成:
He will have arrived by now. 他现在应当已经到了。
He will have gone back to England.他想必回英国去了。
When we get there,she’ll have gone to work. 我们到那里时她会已上班去了。
On Monday he’ll have been in Britain for three years. 到星期一,他在英国就满三年了。
现在完成时以现在时间为参照点,表示在"现在"以前完成的动作或持续到"现在"的状态,过去完成时则以过去时间为参照点,表示在"过去"某一时间以前发生的动作或持续到"过去"某一时间的状态,将来完成时则以将来时间为参照点,表示在"将来"某一时间为止已经完成的动作或持续到"将来"某一时间的状态:
He has finished writing his novel. 他已写完了他的小说。
He had finished writing his novel by the end of last year. 去年年底他就写完他的小说。
He will have finished writing his novel by the end of next year. 到明年年底他就会写完他的小说了。
与一般现在时代替一般将来时一样,在表示时间或者条件的状语从句,通常要用现在完成时来表示将来完成时,而不能直接使用将来完成时:
I will go with you when I have finished my work. 等我完成工作之后我就同你去。
若不强调动作的完成(且不致于引起歧义),有时也可用一般现在时:
I will go with you when I finish my work. 我完成工作后就同你去。