SQLite Forum

How to convert am/pm time to 24hrs time format
Login
Though I will extend my "intuition" by this example:

```
12:00:01 pm
12:00:00.1 pm
12:00:00.01 pm
12:00:00.001 pm
12:00:00.0001 pm
12:00:00.00[...]001 pm
```

This leads me to the intuitive understanding that as we get closer and closer and closer to exactly 12 noon from the right side, we are on the pm side of the line, so I think the 2008 change to make 12 pm be noon was the right move.

Given that "0.999..." is exactly equal to "1.0" ([](https://en.wikipedia.org/wiki/0.999...)) it is also intuitive to me that "11:59:59.999... am" is equal to "12:00:00 pm".

But we're talking about time standards that are not universal constants, which is why we have leap days, leap seconds, daylight time, summer time, standard time, all sorts of different legal standards for them by various governments, time zones, epochs. None of it makes "sense" in that regard.

"11:59:59 am {tick} 12:00:00 am {tick} 12:00:01 pm" hurts my OCD.

Ultimately I agree with the idea that "exactly" noon cannot be AM or PM by the very meaning of the words. Some years ago I worked on software for a company that supported radio station programming. In building a format clock, I had a list of hours of the day that were labeled "1P", "2P", ... "11P", and I used "12M" as the hour that came between the two just to avoid the ambiguity. "12P" or "12N" doesn't have as much of a problem in my mind since it occurs in the middle of the day, but it is always confusing trying to talk to people about which day "12A" belongs to (but really it is the same problem when referring to "12M"). Until 2019 ISO 8601 allowed using 24:00:00 to refer to the end of the day but now that is forbidden.