Hi, Muhammad,

I agree with you that both "will be having" and "will have had" seem to be correct. The meaning of "by" will be different in each case. With "will be having," "by then" will mean "around that time." With "will have had," "by then" will mean that, by the time the other person calls the speaker (i.e. 2 PM), the action of having lunch will be already completed.

Note: Next time, try to think of a title that is more descriptive of your grammatical doubt, for example: Future tense with "by then"

Add Reply

Likes (0)
×
×
×
×