macOS and iOS
In brief: Current Macs, iPhones and iPads run only 64-bit software, and 64-bit Apple software uses 64-bit time, so supported Apple devices are not at risk from 2038 itself. The risk lies with old hardware and data: 32-bit Macs and the last 32-bit iPhones and iPads (around 2012–2013), and the classic Mac date format and HFS+ disks, whose dates end in February 2040, not in 2038.
| Risk level | Low (current macOS/iOS) · Medium (HFS+ volumes, classic Mac data formats, 32-bit legacy devices) |
| Status | 64-bit-only since macOS 10.15 (2019) and iOS 11 (2017). HFS+ and classic Mac dates limited to 2040-02-06 |
| Last reviewed | 2026-10-21 |
2038 status at a glance
- At risk Confirmed32-bit iPhones and iPads (iPhone 5/5c, iPad 4 and older)These are capped at iOS 10 with a 32-bit time_t. The same devices needed emergency updates for the 2019 GPS rollover.Do: Retire these devices.
- At risk Confirmed32-bit Mac apps (macOS 10.14 and earlier) and Mac OS X 10.4–10.6 with a 32-bit kernel32-bit Darwin uses a 32-bit time_t. On 32-bit kernels, the kernel itself is affected too.Do: Retire or isolate these systems.
Not affected or different deadline (2), and why
- Not affectediOS 11 and later64-bit only since iOS 11. 32-bit apps no longer launch.
- Not affectedmacOS 10.15 and laterCatalina and later run only 64-bit apps, so time_t is 64-bit throughout.
Overview
Apple platforms have three different time representations with different limits:
| Representation | Epoch | Width | Limit |
|---|---|---|---|
Darwin/BSD time_t (Unix layer) |
1970-01-01 UTC | 32-bit long on 32-bit (ILP32) builds, 64-bit on LP64 |
2038-01-19 (32-bit only) |
Classic Mac OS "seconds since 1904" (GetDateTime, DateTimeRec) |
1904-01-01, local time | Unsigned 32-bit | 2040-02-06 06:28:15 |
| HFS+ on-disk dates | 1904-01-01, GMT | Unsigned 32-bit | 2040-02-06 06:28:15 GMT |
| APFS on-disk timestamps | 1970-01-01 UTC | 64-bit nanoseconds | Centuries ahead |
Foundation NSDate/Date (Cocoa) |
2001-01-01 | 64-bit double | Not an issue |
Because the 32-bit Darwin time_t was signed, the 2038 problem applied to 32-bit Mac OS X processes. The classic Mac and HFS+ counters are unsigned and start in 1904, so they reach their limit about two years later, in 2040.
Technical details
Darwin time_t and the 64-bit transition
- In XNU,
time_tis__darwin_time_t, which the i386 and ppc headers define aslong. That makes it 32-bit in 32-bit processes and 64-bit in 64-bit processes. A February 2016 tz mailing-list post quotesxnu-3247.1.106'sbsd/i386/_types.h:typedef long __darwin_time_t; /* time() */[1]. - 32-bit Mac OS X kernels (10.4, 10.5 and the 32-bit 10.6 kernel, on PowerPC or Intel) are therefore exposed. 64-bit kernels and 64-bit processes are not (forum source) [2].
- macOS 10.15 Catalina (2019) ended 32-bit app support: "Starting with macOS Catalina 10.15, 32-bit apps are no longer compatible with macOS". macOS Mojave 10.14 was "the last version of macOS to run 32-bit apps" [3]. A supported Mac running 10.15 or later has no 32-bit
time_tin user processes. - Apple silicon Macs (2020 onward) are 64-bit only. Rosetta 2 translates x86-64, not i386.
iOS
- Apple required 64-bit support for new App Store apps from 2015-02-01, and soon after for updates [4].
- iOS 10.3 warned users when they opened 32-bit apps. iOS 11 (2017) dropped them: "32-bit apps previously installed on a user's device will not launch" [5].
- The last 32-bit iOS devices (ARMv7/ARMv7s) are the iPhone 5 and 5c and the iPad (4th generation). They are capped at iOS 10.3.x. The iPhone 5 and the cellular iPad (4th generation) received iOS 10.3.4 in July 2019 to fix the GPS week rollover, a reminder that old devices can be hit by date bugs [6]. Apple's own advisory gives the impact time as "just before 12:00 a.m. UTC on November 3, 2019". It lists iOS 9.3.6 for the iPhone 4s and the cellular iPad mini (1st generation), iPad 2 (CDMA models only) and iPad (3rd generation). It says an iPhone 5 that missed the deadline must be backed up and restored using a Mac or PC [12]. See GPS-Week-Rollover. Older devices (iPhone 4S, iPad 2/3, iPad mini 1) top out at iOS 9.3.x [6].
- Wikipedia lists 32-bit iOS devices from about the iPhone 5 on iOS 9 among systems that could fail at the 2038 rollover (secondary source) [7].
- The 32-bit devices are long out of support, but some remain in use as dedicated appliances such as point-of-sale terminals, kiosks and music players.
Classic Mac OS: 1904 to 2040
Apple's Inside Macintosh describes date-time information "expressed, using 4 bytes, as the number of seconds elapsed since midnight, January 1, 1904". After the value reaches $FFFFFFFF "it resets to 0. Therefore, the date-time record can track dates and times only between midnight on January 1, 1904 and 6:28:15 A.M. on February 6, 2040." Apple recommended the 64-bit long date-time record (LongDateRec, about 30,000 BC to 30,000 AD) for wider ranges [8]. The 1904 epoch also survives in some file formats, for example QuickTime/MP4 header creation and modification times (unverified here; check the format specification). See File-Formats-and-Protocols.
HFS+ (Mac OS Extended): 2040
Apple Technical Note TN1150: HFS Plus dates "are stored in unsigned 32-bit integers (UInt32) containing the number of seconds since midnight, January 1, 1904, GMT … The maximum representable date is February 6, 2040 at 06:28:15 GMT." [9] HFS (the original format) stores local time instead. HFS+ is still found on external drives and disk images formatted "Mac OS Extended". A file dated beyond 2040 cannot be represented on HFS+. Linux's hfs/hfsplus drivers adopted Apple's documented 1904–2040 range in 2018 [10].
APFS
APFS, Apple's current default file system, stores timestamps as a 64-bit count of nanoseconds since 1970-01-01 UTC [11]. This covers several centuries in both directions and is not 2038- or 2040-limited. Third-party sources disagree on whether the field is signed [11].
Affected versions / products
| Platform | 2038 status |
|---|---|
| macOS 10.15+ on any Mac | Safe (64-bit only) [3] |
| macOS ≤ 10.14 running 32-bit apps | 32-bit apps affected |
| Mac OS X 10.4–10.6 with 32-bit kernel (PowerPC, early Intel) | Affected (kernel and apps) [2] |
| iOS 11+ | Safe (64-bit only) [5] |
| iOS ≤ 10 on 32-bit devices (iPhone 5/5c, iPad 4 and older) | Affected [6][7] |
| HFS+ volumes (any macOS) | Dates limited to 2040-02-06 [9] |
| Classic Mac OS (System 7 – Mac OS 9) | Dates limited to 2040-02-06 [8] |
| APFS | Safe [11] |
Risk & compliance notes
- Archives and backups on HFS+. Long-term archives with date-based retention or expiry metadata on HFS+ cannot hold post-2040 dates. Reformat to APFS where you can.
- Data formats with a 1904 epoch (spreadsheets, media containers, legacy databases) need their own review.
- Dedicated 32-bit Apple devices in retail and industry should be inventoried and retired before 2038.
Detection & mitigation
# find 32-bit Mach-O binaries (only relevant on macOS <= 10.14 or for archived software)
file /Applications/*.app/Contents/MacOS/* | grep -E 'i386|ppc'
# identify HFS+ volumes
diskutil list | grep -i 'Apple_HFS'
- Convert HFS+ volumes to APFS. Avoid HFS+ for long-lived archives.
- See File-Systems, Testing-and-Detection and Remediation-Guide.
See also
- Year-2038-Problem · Operating-Systems · OS-BSD-and-Unix
- Lang-Go-Rust-Swift · File-Systems · File-Formats-and-Protocols
- GPS-Week-Rollover · Year-2106-and-Beyond
References
- tz mailing list: POSIX epoch / xnu
__darwin_time_t— IANA tz list, 2016-02. Quotestypedef long __darwin_time_t;from xnu-3247.1.106 (seen in search results). - Classic Mac OS will survive Y2038 (and maybe longer) — 68kMLA forum. 32-bit Mac OS X kernels (10.4–10.6) use a 32-bit
time_t. Forum source (seen in search results). - 32-bit app compatibility with macOS — Apple Support. Catalina 10.15 dropped 32-bit apps; Mojave 10.14 was the last to run them.
- The future of iOS is 64-bit only: Apple to stop support of 32-bit apps — Macworld, 2017. 64-bit requirement for new apps from 2015-02-01 (seen in search results).
- Apple reminds developers that all Mac and iOS 11 apps must support 64-bit — Neowin, 2017. 32-bit apps will not launch on iOS 11 (seen in search results).
- Apple updating older iPhones and iPads to fix GPS accuracy issue — iMore, 2019-07. iOS 10.3.4 (iPhone 5, iPad 4 cellular) and 9.3.6 for older devices (seen in search results).
- Year 2038 problem — Wikipedia. Secondary source listing 32-bit iOS devices among vulnerable systems.
- Inside Macintosh: Operating System Utilities — Date-Time Records — Apple Developer (archive). 1904 epoch; range from 1904-01-01 to 6:28:15 AM on 2040-02-06;
LongDateRec. - Technical Note TN1150: HFS Plus Volume Format — Apple Developer (archive). "HFS Plus Dates": unsigned 32-bit since 1904 GMT, maximum 2040-02-06 06:28:15 GMT.
- Re: [PATCH] hfs/hfsplus: use documented official timestamp range — LKML, 2018-07. Linux drivers adopt the 1904–2040 range (seen in search results).
- Be careful when interpreting APFS timestamps — The Eclectic Light Company, 2025-10-24 and dfdatetime APFS time — dfdatetime docs. 64-bit nanoseconds since 1970; they disagree on signedness (seen in search results).
- Update your iPhone or iPad software if you're experiencing issues with location, date, and time — Apple Support (archived article). Apple's GPS-rollover advisory: affected models, iOS 10.3.4 / 9.3.6, impact just before 00:00 UTC on 2019-11-03, Mac/PC restore for iPhone 5.