Mac Absolute Time to Unix Timestamp Converter
Convert Apple’s Mac Absolute Time (CFAbsoluteTime) — seconds since January 1, 2001 UTC — to a Unix timestamp, ISO 8601, and a readable date in any timezone.
What is Mac Absolute Time?
Apple’s Core Foundation measures time as CFAbsoluteTime: a double-precision count of seconds since the reference date of January 1, 2001 00:00:00 UTC. This “Mac absolute time” appears throughout macOS and iOS, including in plist files, the unified logging system, and many Cocoa APIs.
- Epoch: 2001-01-01 00:00:00 UTC (the Cocoa/Core Foundation reference date)
- Type: floating-point seconds, so fractional values carry sub-second precision
- A present-day value is around 7.4 × 10^8 (smaller than the equivalent Unix timestamp)
- Seen in: CFAbsoluteTimeGetCurrent(), NSDate timeIntervalSinceReferenceDate, plist Date values
How to convert Mac Absolute Time to Unix time
There are 978,307,200 seconds between the Unix epoch (1970) and the Apple epoch (2001). Add that offset to convert Apple seconds into Unix seconds.
- Unix seconds = MacAbsoluteTime + 978307200
- Example: 721692800 → 1700000000 → 2023-11-14 22:13:20 UTC
- Reverse: MacAbsoluteTime = Unix seconds − 978307200
- Swift: Date(timeIntervalSinceReferenceDate: t).timeIntervalSince1970
Related Apple formats
Core Data persists dates as the same CFAbsoluteTime value, so the Core Data timestamp converter uses identical math. Be careful with values that look like Unix timestamps — a 2001-based value will appear ~31 years too early if you forget the offset.
- Core Data SQLite stores ZDATE columns as seconds since 2001
- A bare value near 7×10^8 is almost certainly Apple time, not Unix time
- Some APNs and log values use the same reference date
- What is the CFAbsoluteTime epoch?
- CFAbsoluteTime counts seconds since January 1, 2001 00:00:00 UTC, the Core Foundation/Cocoa reference date.
- How do I convert Mac absolute time to Unix time?
- Add 978,307,200 seconds to the Mac absolute time to get a Unix timestamp in seconds.
- Is Mac absolute time the same as Core Data timestamps?
- Yes. Core Data stores dates as CFAbsoluteTime (seconds since 2001), so the conversion is identical.