Notable Unix Timestamps and Epoch Milestones

· referencefundamentals

1234567890, 2147483647, 1000000000 — the timestamps worth recognising, and the boundaries worth having in your test fixtures.

A reference for the epoch values that recur in documentation, test data and bug reports.

Boundaries that matter

Timestamp Instant (UTC) Why it matters
-2147483648 13 Dec 1901, 20:45:52 Signed 32-bit floor
-2208988800 1 Jan 1900, 00:00:00 Common alternative epoch
-1 31 Dec 1969, 23:59:59 One second before the epoch
0 1 Jan 1970, 00:00:00 The Unix epoch
2147483647 19 Jan 2038, 03:14:07 Signed 32-bit overflow
4294967295 7 Feb 2106, 06:28:15 Unsigned 32-bit overflow
253402300799 31 Dec 9999, 23:59:59 Maximum four-digit year
8640000000000 13 Sep 275760 JavaScript Date maximum (in seconds)

The first and fifth rows are the ones to put in test fixtures. See the Year 2038 problem.

Round numbers

Timestamp Instant (UTC) Note
1000000000 9 Sep 2001, 01:46:40 The “billennium” — widely celebrated
1234567890 13 Feb 2009, 23:31:30 Sequential digits; parties were held
1111111111 18 Mar 2005, 01:58:31 Repdigit
1500000000 14 Jul 2017, 02:40:00
1600000000 13 Sep 2020, 12:26:40
1700000000 14 Nov 2023, 22:13:20
2000000000 18 May 2033, 03:33:20 Next round-number milestone
2222222222 2 Jun 2040, 03:57:02 Repdigit, after the 2038 boundary

1234567890 in particular shows up constantly as placeholder data — if you see it in production, it is almost certainly a fixture that escaped.

Other epochs you will meet

Unix time is not the only epoch, and mixing them produces characteristic offsets:

System Epoch Offset from Unix
Unix / POSIX 1 Jan 1970
Windows FILETIME 1 Jan 1601 11,644,473,600 s (in 100 ns ticks)
Apple / Cocoa 1 Jan 2001 978,307,200 s
GPS 6 Jan 1980 315,964,800 s, plus 18 leap seconds
NTP 1 Jan 1900 2,208,988,800 s
Excel 30 Dec 1899 25,569 days
.NET ticks 1 Jan 0001 100 ns ticks since year 1
Julian Day 24 Nov 4714 BC Used in astronomy

Recognising the offset identifies the bug. A date 31 years off is Apple’s 2001 epoch — see the Swift notes on the code page. A date about 70 years off is the NTP or 1900 epoch. Roughly 369 years off is Windows FILETIME.

NTP wraps in 2036. Its 32-bit unsigned seconds field overflows on 7 February 2036, two years before the Unix 2038 boundary and much less widely discussed.

Fixture values worth keeping

A good set of test timestamps, each chosen to break something different:

-2208988800     1900-01-01   pre-epoch, negative
-1              1969-12-31   the second before zero
0               1970-01-01   the epoch; also "unset field"
951782400       2000-02-29   leap day in a century year divisible by 400
1078012800      2004-02-29   ordinary leap day
1709164800      2024-02-29   recent leap day
1710054000      2024-03-10   inside the US spring-forward gap (02:00 EST)
1730613600      2024-11-03   inside the US fall-back repeat
2147483647      2038-01-19   32-bit boundary
2147483648      2038-01-19   one past the boundary
4102444800      2100-01-01   a century year that is NOT a leap year

The 2000 and 2100 pair is worth including: 2000 was a leap year (divisible by 400) and 2100 is not (divisible by 100 but not 400). Naive leap-year code that only checks divisibility by four gets both wrong.

Timestamps as dates you can read

For rough mental dating of a 10-digit value:

Prefix Approximate year
09… 2000
12… 2008
14… 2014
16… 2020
17… 2023–2025
18… 2027
20… 2033

Each 100 million seconds is about 3 years and 2 months, which is enough precision to sanity-check a value at a glance.

Converting any of these

Paste any value into the converter, or link directly with a query parameter — for example /unix-timestamp-to-date?t=1234567890. The countdown page shows the time remaining to the 2038 boundary.

Related guides