Midnight is Always Tomorrow

“So, are you ready for the big power outage on Sunday?” a colleague asks on Thursday.

“You mean Saturday.”

“No… Sunday morning.”

“Um, I was told two months ago, and countless times between, that the outage is on Saturday, midnight to 8 AM, and they were starting to shut things down at 10 PM.”

“It’s Sunday, midnight to 8 AM. They’re going to start shutting things down on Saturday at 10 PM.”

“Did they move the outage?”

“No, I bet they were just telling you when things were going to start. On Saturday.”

Midnight is 00:00, meaning the start of a new day. Always.

If you’re in doubt, use 00:01. Assume everybody is clueless about time, because they are. For example, a lot of people think in terms of when they go to sleep, not what actual time it is, so if they’re still up at 0200 on Sunday they consider it to be Saturday. While that’s wrong, and makes visions of their painful, torturous death flash in your mind, it’s a fact of life. Deal with it.

Be precise. Use 24-hour time, because there is no AM/PM question. 24 hour time runs between 0000 and 2359 on any given day. There is no 2400[0].

Last, all times should be accompanied by days, and vice-versa. It’s like units in science classes. You didn’t just write “1.67,” you wrote “1.67 meters.” It isn’t “0800,” it is always “0800 on 4/18/2010.” Times are useless without dates. And if your team or customers are not all in the same time zone, and they rarely are[1], you need that information, too.

“The system shutdowns will commence at 2200 on 4/17/2010, the power will be disconnected at 0000 on 4/18/2010, and power-ups will occur again at 0800 on 4/18/2010. All times are in CDT (-0500).”


[0] Yes, I am aware there are sometimes leap seconds, which get added to the end of a day, thus causing a 23:59:60. 99.99%+ of all outage planning does not need to take this into account.

[1] And even if they are, it doesn’t hurt to add that information.

6 thoughts on “Midnight is Always Tomorrow”

  1. Amen brother. And not just because I work with the military. Thank you for stating clearly another bit of wisdom that is so often taken for granted.

  2. There are no trains or airline departures in the UK at 0000 for that exact reason – they’re always at least one minute after midnight.

  3. I also learned that the hard way too. So if in doubt (most of the time), I use full date-time strings in UTC + the common local time.

    Regarding leap seconds: They still do not create 24:00:00. If a leap second is added at the end of the day, it is counted as 23:59:60.

  4. Apropos of nothing, but I happened to be the on-air engineer at WORT at 00:00:00 UTC on 1/1 the last time we added a leap second (according to Wikipedia it was 2008.. doesn’t seem like it was that long ago). I put the BBC on for the last six seconds of the (UTC) year just so I could hear the six pips. I don’t care if anybody else listening wanted to hear it.

  5. How true! I hate reading web-articles (usually associated with some big popular blogging software) that list a date and no year. Especially as I read a lot of technical content that essentially has a short shelf life.

Comments are closed.