The correct option is C will have been
In order to discern the correct tense to be used in any sentence, we have to keep in mind two things - one, if the options provided make grammatical sense within the framework of the given sentence; and two whether the secondary action in the sentence has completed or is in the process of unfolding WITHIN the relevant timeframe. In this case, we see that the duration will complete in the middle of this, which is an upcoming time - ruling out the past tense Options A), B) and D). This leaves us with Option C) - the correct answer, and of the future perfect form - which is obtained by adding 'will or shall have/has' (depending on singular or plural subject)' to the past participle of the verb. The verb in question is 'to be'; for which the past participle is 'been'. Applying the above, we clearly get 'will have been', which is the correct answer.