[Math] How to subtract times

modular arithmetic

I have an embarrassingly basic modular arithmetic question. I understand that I can subtract, for example, 1 hour from 10 o'clock to get 9 o'clock, or even 2 hours from 1 o'clock to get 11 o'clock; but how do I subtract 2 o'clock from 11 o'clock to get 3 hours.

That is, I want a function that takes two times on the face of a clock, and gives me the interval between them.


For example: I have two angular values measured in "hours". One value is the right ascension of the apparent sun, $\alpha(t)$, while the other is the right ascension of the "mean sun", $\langle\alpha\rangle(t)$; both are mod 24. I'm interested in the angular difference between these two values
$$E(t) = \langle\alpha\rangle(t) – \alpha(t)$$
Is this just inherently ambiguous, so that I need to impose some additional constraint based on information about the system (e.g., here that the values can be positive or negative, and are always small, so that, say $\pm 22$ should be interpreted as $\mp 2$), or is there some simple systematic way to ensure that I get the correct values?

Best Answer

Just subtract. Your answer will only be well-defined mod 12 (because maybe 15 hours passed between 11 and 2 o clock). If you want a "canonical" answer, you can always take the least residue mod 12. In this case, we get $(2 - 11) = -9 = 3.$

In fancy language, the times on a clock are a torsor for $\frac{\mathbb{Z}}{12}$. John Baez has a great blog entry on this.

Related Question