UNIX format timestamps have an extensive range of use. You will find out the main reasons that back up this claim, but for now, let’s say that it is because working with dates and times in the UNIX time format is easier and more resource efficient. In this article, our goal is to demystify the concept, learn the theory that lies behind it, and ultimately write algorithms and implementations that convert dates back and forth from the traditional ISO standard to UNIX format.
UNIX time, which is sometimes referred to as POSIXtime, is a relatively “simple” format that represents time using its very own system. I’ve opted for the quotations around simple because, despite how it’s going to look at first glance, by the time you finish reading this article, I am sure that you’re going to find them quite simple and effective.
Let me give you some examples of dates in UNIX time if for whatever reason you haven’t been able to come across any until now. Check out the example below:
1577909730 -> 2020-01-01T20:15:30+00:00 -> Wed, 01 Jan 2020 20:15:30 +0000
In the above example, the first column is the time specified in UNIX time format, the second is in the widely popular ISO 8601 standard, and the latter is in RFC 2822 format, which is also called Internet Message Format. For a detailed guide and information regarding the RFC 2822, I’d suggest checking out this document. It is the official abstract related to the standard and its outlines.
Now that you’ve seen some examples of UNIX time, those strings of digits must seem a bit odd, right? It’s weird when somebody suggests that they represent valid dates and times. On the next page, we’re going to explain the theory and the mathematics behind it.