The Mac OS has many APIs for manipulating dates and times. You might want to avoid some of them because they are too old, and others because they are too new. What follows is a brief overview of the main date/time data types and compatibility notes about the APIs.
UInt32 is an unsigned 32-bit integer representing a number of seconds since January 1, 1904. It cannot handle dates beyond the year 2040. Related APIs such as DateToSeconds, SecondsToDate, and GetDateTime are deprecated as of Mac OS X 10.4.
LongDateTime is a signed 64-bit integer representing seconds since January 1, 1904. Related APIs such as LongDateToSeconds and LongSecondsToDate are deprecated as of Mac OS X 10.4.
UTCDateTime is a 64-bit structure representing a number of seconds since January 1, 1904 GMT as a fixed-point number with a precision of 1/65536 of a second. It is used in the File Manager structures FSCatalogInfo and FSVolumeInfo. The similar data type LocalDateTime represents a local time. Related APIs such as GetUTCDateTime and ConvertLocalToUTCDateTime are available since CarbonLib 1.0.2 and Mac OS X 10.0.
CFAbsoluteTime is a 64-bit floating-point number representing the number of seconds since January 1, 2001, GMT. Related APIs such as CFAbsoluteTimeGetCurrent, CFAbsoluteTimeGetGregorianDate, and CFGregorianDateGetAbsoluteTime are available in Mac OS X 10.0 and later and in CarbonLib. Routines for converting between CFAbsoluteTime and UTCDateTime, such as UCConvertUTCDateTimeToCFAbsoluteTime, are available since Mac OS X 10.2.
[CFDateRef] is a reference-counted object representing an absolute time, and is toll-free bridged with the Cocoa class NSDate. The related APIs such as CFDateCreate are available in Mac OS X 10.0 and later and in CarbonLib.
CFTimeZoneRef is a reference-counted object representing a time zone, and is toll-free bridged with the Cocoa class NSTimeZone. It is used together with CFAbsoluteTime in APIs such as CFGregorianDateGetAbsoluteTime, and is available in available since Mac OS X 10.0.
CFDateFormatterRef is a reference-counted object used to format and parse date/time strings, using settings from the current locale. The related APIs are available since Mac OS X 10.3.
CFCalendarRef is a reference-counted object representing a calendar system, and is toll-free bridged with the Cocoa class NSCalendar. Its APIs such as CFCalendarDecomposeAbsoluteTime are available since Mac OS X 10.4.