A precision aluminium machine: a paper tape covered in digits goes in on one side and comes out translated on the other, while a lit counter shows the date’s number.

#01 · Lab

Date Decoder

A date in five digits, immune to the millennium bug, where adding a week means adding 7. A timestamp in ten digits that carries the time as well. Formats born to make the numbers add up, alive and well in legacy systems: here they are read in plain sight.

B. Dalia

unix (s) 1786233600 serial date 46243 YYYYMMDD 20260809
August 9, 2026
Three different numbers, the same date.

Numbers in place of dates

Unix timestamps and serial dates were never quirks: they were design decisions, and in legacy systems they are still in place. This is the story of those formats, and of the tool that puts them back in plain sight.

Anyone working on banking, financial or insurance systems, and more generally on platforms with roots a few decades deep, sooner or later meets a date that doesn’t look like a date.

  • 46243 is a serial date: the number of days counted from 1900.
  • 1786233600 is a unix timestamp: the seconds elapsed since January 1, 1970.
  • 20260809 is perhaps the most readable of the three: year, month and day joined into one number.

Three disguises for the same day, August 9, 2026.

The first reaction is to wonder why anyone would write dates that way instead of in plain form. The answer is that it was never a quirk: it was the best solution available, and in many cases it still is.

Five digits, and the numbers add up

Go back to the nineties. Memory and disk space cost money, and a bank archive doesn’t count records in hundreds: it counts them in millions. Every character saved on every date of every row turned into real space, and a serial date asks for five where a written date asks for six at the very least.

In the same move that format carried a second advantage, and not a small one: it was immune to the millennium bug. The year-2000 problem came from six-digit dates, where the year took two and the century was implied. A serial date implies nothing, it is a counter that grows: 1999 and 2001 are simply two numbers, one larger than the other. No window to define, no ambiguity to resolve.

And then there is the part that saves time every single day. Being progressive, these dates can be worked out in your head. A week later? Plus seven. A hundred and fifty days earlier? Minus a hundred and fifty. How many days between two dates? A subtraction. The same operations on written dates need database or library functions; here an addition is enough, and you write it straight into the query.

Ten digits that carry the time as well

The unix timestamp comes from another tradition, Unix and Linux systems rather than the banking world, and solves a more ambitious problem: not the day, but the instant. Ten digits hold the date and the time to the second. Writing the same information in plain form would take at least fourteen: eight for the date, six for the clock.

And it is a format that holds. It stays at ten digits into the next century, with nothing to widen. The only real limit is not about digits but about the container the number is kept in: systems that store it in 32 bits stop on January 19, 2038. That is a storage problem, not a format one, and anyone keeping that number in 64 bits has no deadline ahead.

How the Date Decoder works

The tool has a single field and asks nothing up front. You paste the value, be it a timestamp in seconds or milliseconds, a serial date, a compact YYYYMMDD date or a plainly written one, and the decoder recognizes on its own what it is looking at. The assumption it made is always declared, and can be changed with one tap when the detection doesn’t match your intention.

From there the value comes out translated into every other form: local date, UTC, ISO 8601, unix in seconds and milliseconds, serial date. Every row copies with one click, ready to drop into a query or a spreadsheet.

The other half of the tool is a calendar. You navigate the year, pick a day or a range, and get the start and end timestamps of the day with their serials: exactly what you need to build a time filter on a data extraction. That is the use case the whole thing started from.

The details that make the difference

Spreadsheet dates carry a historical error. Lotus 1-2-3 treated 1900 as a leap year; Excel copied the behaviour for compatibility with existing files and never went back. The result: serial 60 corresponds to February 29, 1900, a day that never existed. The Date Decoder knows the story, flags the phantom day and reads it as February 28. And when a value cannot be represented, a date before 1900 for instance, it says so openly instead of producing an approximation. Old Excel for Mac also used a system with a 1904 epoch: if your numbers look four years off, that’s the cause.

Privacy

We respect your privacy

We use necessary technical cookies and, only with your consent, statistics cookies to understand how the site is used. You can accept, reject or choose in detail. Details in the Cookie policy and the Privacy policy.