På only means 'at' when it cannot mean 'on top', usually when talking about abstract concepts rather than physical objects that one may be on top of. For 'at' in a truly spatial sense, use vid.

In the time sense, it is only used for speaking of days when describing them in some sense: på julafton, på min födelsedag, på måndag; when giving a date this preposition is excluded: Han köpte bilen den tredje maj = He bought the car on the third of May