We use "by" to specify time or date, as in

I have to go by 9 am.

We can also use "at" here. When to use "by" / "on" / "at"?

When "by" should be preferred over "before" or "till"?

3 Answers 3

  1. by
    not later than; at or before:
  2. on
    use on to designate days and dates
  3. at
    use at to designate specific times.


  1. I have to go by 9 am
    means the latest you can stay is 9 am. You have to leave at or before 9 am.

  2. I have to go on 9 am
    does not make sense because on is used with days and dates.

  3. I have to go at 9 am
    means you have to leave when the time is (exactly) 9 am.

To answer your follow-up question:

Use before when you have to leave earlier than 9 am.
Use by when you can leave specifically at 9 am or earlier.

Till is the informal version of until. Until has many uses, just like the on/at/by, but I think the main use here is

use until to talk about something that will keep going on for a duration of time from a specific time to another.

So "I have to leave until 9 am" doesn't really make sense. One might interpret this as you have to be gone or absent until 9 am. But as you can see, it has a completely different meaning than with the words at or by. You can say

I have to stay until 9 am.

This means you have to stay. And when the time is 9 am, you are free to leave. Depending on the context, it might imply that you will leave at exactly 9 am.


"By 9 am" means any time before 9 am.

"At 9 am" means at 9 am specifically.

We don't use "on" with time of day, but we do use it with days:

"On Monday" means sometime during Monday. "By Monday" means any time before Monday.


Use by when some action or event needs to be completed before a specific date or time, but it is possible that it could happen earlier.

I must leave for the airport by 9:00 AM tomorrow

(allowing the possibility of leaving earlier)

We must complete this report by the end of July.

(allowing the possibility of completing it earlier)

When we have a specific date or time use on for a date, use at for a time.

We leave for our vacation on Tuesday 13th August.

The train is due to arrive at 10:15 tomorrow morning.

we can use both on and at in the same sentence:

My flight leaves at noon on Wednesday 17th September.

You must log in to answer this question.

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