See this page

Should / shouldn't Should and shouldn't are used to make an assumption about what is probably true, if everything is as we expect:

See this sentence "They should be there by now." (we are talking about the present or future.

Should + have + past participle Should + have + past participle can be used to make an assumption about something that has probably happened, if everything is as we expect (compare with present use of 'should' above):

See this sentence "The train should have left by now." (we are talking about the past.

My question is that:

Why can "by now" be used in both future/present or past events?

2 Answers 2


"By now" is obviously about the present.

The difference between these two sentences lies in the sense of what is being described by the verb.

"They should be there by now" means "they" have probably come already, and they are still there now. That is why the verb that describes this situation is in the present.

Regarding the train, however, once it has left, this action of this train (leaving) is in the past, relative to "now". It cannot leave, and leave, and leave, and leave, and leave.... (you get the point). So, it has left at some point before "now"—it is in the past relative to now. It is the action of the train—leaving—that is in the past, not the point in time that is described as "by now".

"Being there" can be a continuous action. The situation that you are describing in the first sentence can also be described as "They should have arrived by now"—an action in the past—but if "they" haven't left since then, then they are still there.

So it's not the "by now" that is ambiguous. It always denotes the specific point in time at which we are speaking—the present. It's what we are talking about with the rest of the sentence that is different.


I don't agree that we are talking about the past in the second case. We are talking about now, and saying that amongst all the things that have happened before now the train leaving is one.

It would be talking about the past if we said "We arrived this morning at 10 o'clock. The train must have left by then". And about the future if we said "We arrive at 10 o'clock tomorrow. The train should have left by then". In both of these examples, "then" tells us that we are speaking of a time that is not now, just as in your second example "now" tells us that we are in the present.

  • The train's leaving is indeed in the past. It's "by now" that always describes a present point in time. The difference between the two sentences is that the train's leaving is in the past, but the second situation is about someone "having arrived" (a point of time that has passed by now), but still "being there".
    – user68912
    Commented Feb 1, 2018 at 13:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .