# Construction of conditional sentences when the context involves Perfect Tense

This is the context I'm starting from:

I am waiting for Tom. I have been waiting for him for 20 minutes.

1) How to construct a conditional statement when something happens now?

a) If Tom came now, I would have been waiting for him in total for 20 minutes.

b) If Tom came now, I would have waited for him in total for 20 minutes.

c) If Tom came now, I would wait for him in total for 20 minutes.

2) ... happens in the future?

a) If Tom came in 15 minutes, I would have been waiting for him in total for 35 minutes.

b) If Tom came in 15 minutes, I would have waited for him in total for 35 minutes.

c) If Tom came in 15 minutes, I would wait for him in total for 35 minutes.

"I have been waiting" references a period of time, the later end of which is now.

Tom didn't "came" now or in 15 minutes, right? :) So, in all cases, you need to bump things forward:

If Tom comes now, I will have waited for him for 20 minutes.
If Tom comes now, I will have been waiting for him for 20 minutes.
If Tom comes in 15 minutes, I will have waited for him for 35 minutes.
If Tom comes in 15 minutes, I will have been waiting for him for 35 minutes.

First point: if Tom comes now means that Tom hasn't come yet, so the construction is the same for both of these sentences. In effect, "now" is actually the future here.

Second point: the reason that we use the present "comes" is that we are advancing a hypothetical set of future events. So, we are saying if the hypothetical event becomes the present event now or in 15 minutes and so on.

Third point: you are referencing a point in time in the future (again, either "now" or "in 15 minutes", as explained in the first point), and from there referencing a period of time that begins at a point prior to that point and ends at that point. That's why you use will instead of would; none of this has happened yet in the present--keep in mind that the actual present is the point in time that you make the statement. Consider this, for comparison:

If Tom had come 15 minutes after [past point in time x], I would have been waiting for him for 35 minutes.

• You have just put everyting in the zero (real) conditional. It was so simple, I didn't think about it. But imagine I have been waiting for him for 20 minutes, and he calls and says that he will be in one hour, so all my sentences are unreal, what would you choose in this situation? – Graduate Jun 29 '13 at 2:52
• When he comes, I will have been waiting for 1 hour and 20 minutes. It isn't the time waiting that's conditional, it's whether he comes or not. So, it makes no difference whether you use if or when, the calculation of the time waiting will be the same. – BobRodes Jun 29 '13 at 4:00
• OK, I will try to explain: "He has just called and said that he will come in 60 minutes. If he came in 20 minutes from now, I would have waited him for 40 minutes. But when he comes I will have been waiting for 1 hour 20 minutes." – Graduate Jun 29 '13 at 5:24
• No, not the first one. "If he came in 20 minutes" doesn't make sense; 20 minutes from now is not in the past! Compare "If he had come 20 minutes from then, I would have waited for him for 40 minutes." (Note that "wait" is intransitive; you don't "wait someone", you "wait for" someone.) – BobRodes Jun 29 '13 at 5:45
• "I'm not going to the party tomorrow. But if I were at the party tomorrow, I would not drink cocktails." Tomorrow is also not the past, but the sentence must be correct. – Graduate Jun 29 '13 at 5:48