A Mac Absolute Time / CFAbsoluteTime value counts seconds from 2001-01-01T00:00:00Z. Its source epoch and unit need to travel with it; the number alone cannot tell you which clock it belongs to.

Conversion rule

Unix seconds = Mac Absolute Time + 978307200

The converter applies that relationship and returns Unix seconds, epoch milliseconds, ISO 8601 UTC, and a readable UTC value. Keep the original value as well when investigating a log or export so the conversion can be checked later.

Where mistakes happen

Apple timestamps often look like ordinary seconds but use a 2001 epoch. Do not feed them directly to a Unix converter without the offset.

A safer workflow

  • Identify the platform and field name before doing arithmetic.
  • Preserve the original value as a string when it may exceed JavaScript safe-integer precision.
  • Convert once at the boundary, then store or compare a declared Unix unit.
  • Format in a named timezone only when presenting the resulting instant to a person.

Frequent questions:

Q: What is the CFAbsoluteTime epoch?
A: CFAbsoluteTime counts seconds since January 1, 2001 00:00:00 UTC, the Core Foundation/Cocoa reference date.
Q: How do I convert Mac absolute time to Unix time?
A: Add 978,307,200 seconds to the Mac absolute time to get a Unix timestamp in seconds.
Q: Is Mac absolute time the same as Core Data timestamps?
A: Yes. Core Data stores dates as CFAbsoluteTime (seconds since 2001), so the conversion is identical.