64-bit solutions All dates in UTC

Widen the clock.
Check the whole path.

64-bit seconds remove the 2038 integer limit. Applications, APIs, stored data, and conversions still need to agree.

32 → 64
Maximum positive signed integer ranges
WidthMaximum secondsCapacity
32-bit2,147,483,647Signed maximum: 231 - 119 Jan 203803:14:07 UTC
64-bit9,223,372,036,854,775,807Signed maximum: 263 - 1~292 billion yearsArithmetic range, not a calendar API guarantee

Migration checklist

A planning checklist, not a compliance assessment. Selections are local to this page visit.

Platform support isn't the whole fix.

GNU's guidance supports wider timestamps through _TIME_BITS=64 on relevant glibc builds. Build configuration and compatibility with dependent libraries matter.

2038-01-19 03:14:07 UTC
2038-01-19 03:14:08 UTC
2038-01-19 03:14:09 UTC

Microsoft documents separate 32-bit and 64-bit time APIs and discourages _USE_32BIT_TIME_T. A wider integer does not mean that every date-conversion function accepts its entire arithmetic range.

Compare the representations.

The same seconds, stored in 32 bits and 64 bits.