I will rather ask: Which one of the sentences below is not correct?
Unlike the very last one, the first and second ones (Please be ready by 5:00pm. and Please be ready at 5:00pm.) are both correct.
Take a look at the examples below:
- She said to me: please be ready by 5:00pm.
In the sentence above, by 5:00pm connotes latest by, meaning: before 5:00pm.
- She said to me: please be ready at 5:00pm.
Here, at 5:00pm translates into being ready at that very point in time, either: exactly 5:00pm.
- She said to me: please be ready on 5:00pm.
In the last instance above, the sentence is grammatically wrong because the use of the preposition on is not appropriate.
In general, the preposition on is often used for places and or locations.
There is really no definite rule nor formula for choosing a preposition and this can be a tremendous challenge for English language learners.