Mac HFS+ Timestamp Converter

Enter a Mac HFS+ timestamp (seconds since January 1, 1904) into the HFS+ Timestamp field and get back the corresponding human-readable date and time in UTC. You can also convert in reverse — enter a calendar date and time to get the HFS+ numeric timestamp. Useful for digital forensics, file system analysis, and working with classic Mac OS, iPod, Palm OS, or JMP/JSL datetime values.

Enter the HFS+ timestamp as an unsigned 32-bit integer (number of seconds since midnight, January 1, 1904, UTC).

Optionally enter a UTC date and time to calculate the corresponding HFS+ timestamp.

Results

Human-Readable Date (UTC)

--

Equivalent Unix Timestamp

--

HFS+ Timestamp from Entered Date

--

Days Since HFS+ Epoch (Jan 1, 1904)

--

Years Elapsed Since 1904 Epoch

--

Frequently Asked Questions

What is a Mac HFS+ timestamp?

A Mac HFS+ timestamp is the number of seconds elapsed since midnight, January 1, 1904, UTC. It is used by Apple's HFS and HFS+ file systems, as well as classic Macintosh computers, iPods, Palm OS, and JMP/JSL datetime values. It is typically stored as a 32-bit unsigned integer.

What is the epoch date for HFS+ timestamps?

The HFS+ epoch is midnight (00:00:00) on January 1, 1904, UTC. This is different from the Unix epoch, which starts on January 1, 1970. The difference between the two epochs is exactly 2,082,844,800 seconds.

How do I convert an HFS+ timestamp to a Unix timestamp?

Subtract 2,082,844,800 from the HFS+ timestamp to get the Unix timestamp. For example, an HFS+ value of 3,855,993,079 minus 2,082,844,800 equals 1,773,148,279 as a Unix timestamp. This offset accounts for the 66-year difference between the two epochs.

What is the maximum date supported by a 32-bit HFS+ timestamp?

A 32-bit unsigned HFS+ integer can hold values up to 4,294,967,295, which corresponds to approximately February 6, 2040, UTC. After this date, the 32-bit value would overflow, similar to the Unix Year 2038 problem.

Are HFS+ timestamps stored in UTC or local time?

HFS+ timestamps can be stored in either UTC or local time depending on the implementation. Apple's HFS+ file system traditionally stores timestamps in local time on older systems, but modern macOS and forensic tools typically interpret them as UTC. Always verify the timezone context when analyzing timestamps.

Which other systems use the 1904 epoch besides HFS+?

Besides Apple's HFS and HFS+ file systems, the 1904 epoch is used by classic Mac OS (System 1 through Mac OS 9), Apple iPod devices, Palm OS, LabVIEW, JMP/JSL datetime values, and some ZIP file extensions such as the Info-ZIP Macintosh extensible data field 0x334d.

How do I get the current Mac HFS+ timestamp in PHP?

In PHP, you can get the current HFS+ timestamp by adding the epoch offset to the current Unix time: $currenttimestamp = 2082844800 + time(); This works because time() returns the current Unix timestamp, and adding 2,082,844,800 converts it to the HFS+ epoch base.

What is the difference between HFS+ timestamps and Cocoa/Mac absolute time timestamps?

HFS+ timestamps count seconds from January 1, 1904, while Cocoa Core Data (Mac absolute time) timestamps count seconds from January 1, 2001. They are different formats used in different Apple contexts — HFS+ is for the file system, while Cocoa absolute time is used in macOS and iOS application frameworks like Core Data.

More Time & Date Tools