# What is logical time?

I tried to find an existing name for this concept, without success. If you know the proper term, please write a comment or contact me.1

To understand what I mean by logical time, let’s pretend it’s 11.59p on Monday night. The clock ticks and turns midnight, and then 12.01a, then eventually 1.33a. Do you think it’s Tuesday morning?

Even though technically it’s Tuesday, most people think it’s still Monday night.2 If you’re out until 2.00a, you’ll tell people, “I was out late last night.” This leads me to sometimes joke that if I promise you something by the end of day, I really mean 4.00a tomorrow.3

But most software I’ve encountered doesn’t really take that into account; if it happened on Tuesday 1.00a, it happened on Tuesday, period.

Naturally, I don’t think that’s acceptable. Logical time embraces the idea that your day ends when you go to sleep, and begins when you wake, not on some arbitrary notion of midnightness.

And thus, my upcoming app treats any activities that happen up to 4.00a as having been done the previous day. The precise time at which we shift from thinking about last night to this morning eludes me, but I suspect 4.00a is, for most people, that transition point.4

But that’s not all.

Normally when you change time zones, your calendar will show events in absolute terms, so if you have an appointment tomorrow at 3.00p PDT in Seattle, and you’re now in New York, your calendar will show that you have an appointment at 6.00p EDT. Most software behaves this way.5

So while accurate, it’s not actually helpful.6 Back when we had paper calendars, we recorded the time of events in terms of the time zone we expected to be in. It’s only useful to have the time of the appointment be displayed in absolute terms when (1) you’re not in your usual time zone, and (2) you’re scheduling an interaction with another party.

It also complicates tracking time. When we travel, we aim to renormalize our body cycles to the new time zone; so that we go to sleep (and wake up) at the same time every day. When I look at my calendar while traveling, it’s a wee bit aggravating to see everything shifted by the time difference; I have to mentally shift the time in my head.

So my app also performs the not-complicated-but-still-kinda-aggravating calculations to make events always show at the same abstract time, wherever you are.

Logical time: time the way you experience it.

1. Logical time is similar but not quite the same thing as subjective or experiential time, per Merriam Webster’s:

time that is subjectively experienced; specifically : the subjective feeling of duration with its absolute give present —called also experiential time, private time —called also objective time

Yeah, that’s perfectly clear. The Wikipedia’s entry on time perception is a bit better:

Time perception is a field of study within psychology and neuroscience that refers to the subjective experience of time, which is measured by someone’s own perception of the duration of the indefinite and continuous unfolding of events.

In other words, subjective time relates to your experience of duration, but not the actual time of day.

2. I understand there’s biblical precedent for perceiving sunrise, not midnight, as the start of a new day. Because sunrise varies by longitude, however, it isn’t a suitable standard for the change of calendar dates across the world.

3. Some people I know push it even further to 8.59a, or even “before I know the recipient will get to work”, which is a bit too close for me. Even my management at Microsoft showed some flexibility: a Friday deadline frequently meant 5.00p on Sunday (because we took a copy of the source code after that to make the product in time for people coming back on Monday).

4. I realize that this assumption doesn’t hold for those who work graveyard shift; and perhaps there are some people who do consider 1.00a Tuesday to be Tuesday morning. Contact me if this will affect you.

5. .NET supports the notion of an abstract date, while WinRT and Cocoa apparently do not.

6. This once led to an unfortunate scene at a restaurant in Chicago:
“Hi. We have a reservation for 8.15p.”
“Uh, our records show it was for 6.15p.”
I check my email. “Sh— you’re right. Sweetie, we’re going to bed hungry tonight.”
(Fortunately, they were able to seat us.)

## 2 thoughts on “What is logical time?”

1. john says:

make the start of the day settable each day, have a default, and a ‘set day begin now’ button. all your bases are covered then.

1. yes, that’s part of the plan, but it’s additional work i don’t want to undertake any time soon. so unless i hear otherwise, it’s a low priority.