What CFAbsoluteTime is
Apple’s Core Foundation measures time as CFAbsoluteTime, a floating-point count
of seconds from a single reference instant: midnight on 1 January 2001 in UTC.
This is the basis of NSDate and Swift’s Date, so the same value turns up
throughout macOS and iOS. Because the origin differs from the familiar Unix epoch,
the raw numbers are easy to misread; this tool converts them to ordinary dates and
back.
How it works
The whole conversion rests on one offset. The Apple reference date of 1 January 2001 is exactly 978,307,200 seconds after the Unix epoch of 1 January 1970. To turn a CFAbsoluteTime into a date the tool adds that offset to get a Unix timestamp, then builds a UTC date from it. Going the other way it computes the Unix seconds for the date and subtracts the offset.
662688000 -> 2022-01-01T00:00:00Z
0 -> 2001-01-01T00:00:00Z
2022-01-01T00:00:00Z -> 662688000
Example and notes
CFAbsoluteTime is defined in UTC, so the tool reads and writes UTC; convert local times before entering them. Values are floating point, so fractional seconds are allowed, and values before the 2001 reference date are simply negative. The result also shows the matching Unix timestamp, which makes it straightforward to line up Apple artifacts with logs and databases that use Unix time.