When using the 12-hour clock, times before noon are designated "a.m." (e.g. 11:59 a.m.) and times after noon are designated "p.m." (e.g. 12:01 p.m.). "A.m." is an abbreviation of the Latin "ante meridiem" ("before midday"), and "p.m." is an abbreviation of the Latin "post meridiem" ("after midday"). So, how should we designate the time when it is exactly midday, at 12:00 noon?
The proper way to designate 12:00 noon would be 12:00 m. The m. stands for "meridiem," which means "midday." Under this system, midnight would be designated 12:00 p.m., as it is after midday. Most typically, however, one sees 12:00 p.m. for noon and 12:00 a.m. for midnight, because the minute after noon is designated 12:01 pm and similarly for midnight. However, these are technically incorrect, because noon is not "after midday." Also occasionally seen are 12:00 n. for noon and 12:00 m. for midnight. You can see how these three systems can cause confusion. Is 12:00 p.m. noon or midnight? What about 12:00 m.?
There is an additional complication with specifying the date and time of midnight. Because the day starts and ends at midnight, it may be ambiguous what day you're referring to. If you say "June 12 at 12:00 am", do you mean that the date the next minute (12:01 am) be June 12 or June 13? You may have seen legal documents or other announcements stating that something will take effect on 12:01 am on such-and-such a date, and you may have wondered why. Now you know why—to avoid all this confusion.
If you were interested in this article, you may also want to read about the new millennium.