Computes the time difference between two specified absolute times and returns the result as an interval in Gregorian units.
SDKs
- iOS 2.0–8.0Deprecated
- macOS 10.4–10.10Deprecated
- Mac Catalyst 13.0–13.0Deprecated
- tvOS 9.0–9.0Deprecated
- watchOS 2.0–2.0Deprecated
Framework
- Core Foundation
Declaration
func CFAbsoluteTimeGetDifferenceAsGregorianUnits(_ at1: CFAbsolute Time, _ at2: CFAbsolute Time, _ tz: CFTime Zone!, _ unitFlags: CFOption Flags) -> CFGregorian Units
Parameters
at1
An absolute time.
at2
An absolute time.
tz
The time zone to use for time correction. Pass
NULL
for GMT.unitFlags
A mask that specifies which Gregorian unit fields to use when converting the absolute time difference into a Gregorian interval. See
CFGregorian
for a list of values from which to construct the mask.Unit Flags
Return Value
The difference between the specified absolute times (as at1 - at2
—if at1
is earlier than at2
, the result is negative) expressed in the units specified by unit
.
Discussion
The temporal difference is expressed as accurately as possible, given the units specified. For example, if you asked for the number of months and hours between 2:30pm on April 8 2005 and 5:45pm September 9 2005, the result would be 5 months and 27 hours.
The following example prints the number of hours and minutes between the current time (now) and the reference date (1 January 2001 00:00:00 GMT).
CFAbsoluteTime now = CFAbsoluteTimeGetCurrent ();
CFGregorianUnits units = CFAbsoluteTimeGetDifferenceAsGregorianUnits
(now, 0, NULL, (kCFGregorianUnitsHours | kCFGregorianUnitsMinutes));
CFStringRef output = CFStringCreateWithFormat
(NULL, 0, CFSTR("hours: %d; minutes: %d"), units.hours, units.minutes);
CFShow(output);