SIMETRIUM .COM
limit 2 147 483 647 · 19 Jan 2038
36 languages
Symbol plate INT32
unix 2147483647 MAX
unix in lower case, epoch time is a synonymnot to be confused with TAI or MJD
Quantity data sheet a count of seconds · ISO 8601 notation sheet 1/1 · rev. 2026-09

Unix time and ISO 8601 notation

Unit outside the SI · quantity: an instant of time as a whole number of seconds since 1970

On the nineteenth of January 2038, at three hours fourteen minutes and seven seconds Universal Time, a thirty-two-bit counter of seconds will reach 2 147 483 647 — the largest number it is able to hold. The next tick will raise the top bit, and the very same binary word will then be read as negative: clocks that keep time by exactly this count will find themselves not in 2038 but in December 1901. A curiosity of the distant future it is not — an industrial controller or a water meter serves longer than the twelve years that remain.

The count is arranged with extreme simplicity: seconds run consecutively from midnight on the first of January 1970, and a day in it always contains exactly 86 400 seconds. That simplicity is the source of both of its peculiarities. On the one hand, a calendar date follows from the number instantly and the other way round, so every event log, every database and every file system keeps time by it. On the other, a leap second cannot be expressed in such a count at all, which means that, despite its name, it numbers not seconds but days with fractions, and is in truth a linear function of the UTC notation rather than a counter of elapsed time.

Notation unix time · epoch time
Unit of the count the SI second
Start of the count 1970-01-01T00:00:00Z
Seconds per day of the count exactly 86 400 s, no leap seconds
The 32-bit limit 2038-01-19T03:14:07Z
Translations ready / 36
01 · Definition

Unix time is the number of seconds elapsed since midnight on the first of January 1970 Coordinated Universal Time, on the assumption that every day holds exactly 86 400 seconds. ISO 8601 notation states the same thing differently: by calendar date, time of day and an indication of the offset from the prime meridian, with the fields running strictly from coarse to fine.

The proviso about 86 400 seconds is not a detail but the most essential thing in the definition. A leap second, announced by the Earth rotation service, cannot be accommodated by the count, and so at the moment of insertion the system either repeats one and the same value twice or sets the clock back. From this follows something important: the difference of two unix numbers is not the number of seconds that actually passed between two events if a leap second fell between them — the divergence from the atomic scale has already run up to twenty-seven seconds.

The limit, however, depends not on the definition but on the width of the storage. Thirty-two bits with a sign give a largest value of 2 147 483 647, which falls on the nineteenth of January 2038; the next increment turns the top bit to one and makes the number negative, throwing the clock back to the thirteenth of December 1901. Sixty-four bits push the boundary two hundred and ninety-two billion years ahead, yet whole nanoseconds in those same sixty-four bits run out as early as 2262.

Notation by the standard solves a different task — interchange rather than storage — and so things matter in it that the number does not have at all: the hour offset, the separator between date and time, and the rule that for strings of equal length lexicographic order coincides with chronological order. It is this last property that made the format the basis of sorting in file names and in logs.

Formally t — Unix time, N — width of the signed integer, JD — Julian date
Counting from the epoch
t = 86 400 · (JD − 2 440 587.5)
The limit of the word
t(max) = 2^(N−1) − 1
Overflow
t' = ((t + 2^31) mod 2^32) − 2^31
Days and remainder
D = ⌊t / 86 400⌋, r = t mod 86 400
T
dimension: a count of seconds measures time
86 400
seconds in a day of the count — always, without exception
2³¹
the boundary beyond which a signed integer breaks
Interactive · thirty-two bits to failure

Drag the slider and watch the register fill: the bits light up from right to left, and while the topmost, the sign bit, stays dark the number is positive and the date grows. The moment the counter steps past 2 147 483 647 the top bit flares red, the whole number becomes negative, and the clock jumps to 1901.

bit 31 — the signbit 0
instant of time, year
count of seconds
what sits in 32 bits
how the system will read it

The even line and the one that stumbles

The green straight line is the atomic scale, where every second is truly a second. The red stepped line is Unix time, which at every insertion issues one and the same timestamp twice, so that the line stalls in place. The divergence already amounts to twenty-seven seconds and is growing, and therefore the count serves for a calendar date but not for measuring durations in physics.

02 · Conversion

Enter a timestamp or a date

Between all the multiples of the count — seconds, milliseconds, micro- and nanoseconds — the conversions are exact, since they differ only by a factor. One line is approximate: converting to the atomic scale requires knowing the number of leap seconds accumulated by the given moment.

The sheet parses a standard string in the extended notation with the letter Z; the basic form without separators is moved to the fine settings.

The Year 2038 problem lies not in the standard but in hardware and in old code: thirty-two-bit timestamps sit in the firmware of meters, in industrial controllers, in file-system formats and in databases where the field has already been declared as four bytes. Changing the type in the sources is easy enough; going through millions of installed devices in the twelve years that remain is a task of the same kind as the one that faced the year 2000.

Conversion table
ValueNote
Notation by the standard
In 32 bits
Epoch

03 · Orders of magnitude
logarithmic scale: from one second to the limit of sixty-four bits

interval in seconds
The light band is what a signed thirty-two-bit number holds: from one second to the limit of 2 147 483 647, marked by the red boundary on the right. Everything beyond it requires sixty-four bits, and there the reserve becomes mockingly large — two hundred and ninety-two billion years, that is, twenty times the age of the universe.
04 · Measuring instruments

What puts the timestamp on an event

board clock · NTP · log · test rig
Real-time clock

A separate chip with a battery that keeps the count while the device is switched off. It usually stores not a Unix timestamp but the calendar fields separately, and its year field has a width of its own, so on old boards the conversation about 2038 begins with the question of how far the chip itself counts.

Network synchronisation

The NTP protocol brings a machine's clock to common time within a few milliseconds, and it also warns of an insertion by a special flag a day ahead. It has a boundary of its own as well, and that one comes sooner: the count runs from 1900 in unsigned thirty-two bits and will overflow in February 2036.

Event log

A timestamp is written into a log either as a number or as a string by the standard, and the second is preferable for exactly one reason: for strings of equal length alphabetical order coincides with chronological order, so the records sort without parsing the date. That is precisely why the format has spread far beyond computing.

A rig with the clock set forward

There is only one way to test a device for readiness for 2038 — set its clock past the fatal boundary and see what becomes of the logs, the certificates and the interval arithmetic. Failures have been found this way in billing, in access-control systems and in key validity periods, where a date in the future is computed by addition and overflows long before the boundary itself.

05 · Writing rules

From coarse to fine, and always with an offset

The standard requires descending order of fields, four digits of the year, a hyphen as the date separator and the letter T before the time; the hour offset is given either by the letter Z for the prime meridian or as plus-minus hours and minutes. A Unix timestamp is written as a whole number without digit separators, and the multiple must always be stated, since a factor of a thousand distinguishes seconds from milliseconds and by the size of the number the two are easy to confuse.

Correct
2026-09-02T14:30:00Z
2026-09-02T17:30:00+03:00
2026-W36-3 · 2026-245
1788359400 s · 1788359400000 ms
Incorrect
02.09.2026 14:30
2026-09-02 14:30:00
2026-9-2T14:30:00Z
unix 1788359400 = 1788359400 s TAI

The first notation is read differently in different countries and is therefore inadmissible in data interchange. The second drops both the separator and the offset, so the instant is left undefined by a day either way. The third loses the leading zeros, because of which the strings stop sorting alphabetically — and it is exactly that property for which the format is valued. The fourth equates the Unix count with the atomic scale, whereas twenty-seven seconds of accumulated leap seconds lie between them.

06 · Neighbouring units

Alongside stand all the counts built on the same principle but from a different start: NTP time from 1900, the Julian date from noon of 4713 BC, the satellite system scale from January 1980. They differ only in epoch and in unit, and so are converted by subtracting a constant.

unix
from 1970
signed seconds
NTP
from 1900
its limit falls in 2036
TAI-64
atomic seconds
leap seconds counted honestly
Julian date
JD = t / 86 400 + 2 440 587.5
NTP time
t(NTP) = t + 2 208 988 800
The atomic scale
TAI = t + 10 + the number of leap seconds since 1972

Of the Simetrium data sheets nearby stand the Julian date, from which the conversion constant is taken, the UTC, TAI and UT1 scales, which explain the missing leap seconds, second as the unit of the count, and the bit, whose width is what fixes the limit.

07 · Historical section

An epoch chosen because bits were short

archive · 1971 → 2038
1971 · Murray Hill
A tick count that lasted about two years

In the first Unix manual time was counted in sixtieths of a second from the start of 1971, and in thirty-two bits such a count held only about two and a half years. They ran out so quickly that the epoch would have had to be moved with every release of the system, and fractions of a second were abandoned in favour of whole ones.

60 ticks per second
1973 · choosing the zero
A round year instead of a round date

By moving to whole seconds the developers gained a reserve of a hundred and thirty-six years and could choose the start for convenience rather than out of need. They took the first of January 1970 — the nearest round date in the past that machine records did not reach anyway — and have never changed it since, although the system has been rewritten from scratch more than once.

epoch = 1970-01-01
1988 · Geneva
A standard for writing the date

The International Organization for Standardization brought the diverging national formats into one and put a simple rule at its base: the fields run from coarse to fine, all with leading zeros. The side effect proved more important than the intent — such strings sort like numbers, and the format spread into file names, logs and interchange protocols.

ISO 8601, now -1 and -2
2038 · 19 January
03:14:07 and the second after

Desktop and server systems moved to sixty-four bits long ago, and there the boundary has been pushed past any reasonable horizon. The danger has remained elsewhere: in the firmware of instruments with a twenty-year service life, in file formats where the field is declared as four bytes, and in calculations of future deadlines, which overflow already today if fifteen years are added to the present date.

→ 1901-12-13T20:45:52Z
A four-byte field: the width is declared in the format once and outlives any code
Metrological note

A count that, despite its name, does not count seconds

The definition of Unix time sounds like a count of seconds, yet the requirement of exactly 86 400 seconds in a day makes it something else: a linear function of the UTC notation rather than a measure of elapsed time. Every time the Earth rotation service announces an insertion, the count must repeat one and the same value twice or jump back, and the difference of two timestamps loses that very second. Over half a century twenty-seven such losses have accumulated, and so for tasks that need a true duration the atomic scale is taken, not this one.

The second peculiarity lies not in the definition at all but in the manner of storage, and this makes it the only limit in our catalogue that is set neither by nature nor by agreement, but by the width of a machine word. The Julian date never ends, because it is a number; Unix time ends on the nineteenth of January 2038, because it is a four-byte field. The difference between a quantity and its representation usually occupies metrologists little, and here it is precisely that difference which decides everything.

The top bit lights up and the whole date turns into a negative number
Catalogue · units of measurement

A data sheet for every quantity

Seven SI base units, twenty-two derived ones with names of their own, and the non-SI quantities that neither science nor daily life does without. Each gets its own sheet: definition, conversion, instruments, writing rules, history. In 36 languages.

7
base
22
derived
36
languages

Time, scales and machine counting

the open data sheet is highlighted

SI base units

the second is highlighted — the unit of this count

Epochs and limits

where the counting starts and how far it reaches
08 · Your language
every link is a real page in that locale

Read it in your own language

translated and checked draft translation queued