---
title: "CFAbsoluteTimeGetDifferenceAsGregorianUnits(_:_:_:_:)"
framework: corefoundation
role: symbol
role_heading: Function
path: "corefoundation/cfabsolutetimegetdifferenceasgregorianunits(_:_:_:_:)"
---

# CFAbsoluteTimeGetDifferenceAsGregorianUnits(_:_:_:_:)

Computes the time difference between two specified absolute times and returns the result as an interval in Gregorian units.

## Declaration

```swift
func CFAbsoluteTimeGetDifferenceAsGregorianUnits(_ at1: CFAbsoluteTime, _ at2: CFAbsoluteTime, _ tz: CFTimeZone!, _ unitFlags: CFOptionFlags) -> CFGregorianUnits
```

## 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 doc://com.apple.corefoundation/documentation/CoreFoundation/CFGregorianUnitFlags for a list of values from which to construct the mask.

## Return Value

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 unitFlags.

## Discussion

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);

## See Also

### Core Foundation Time Utilities Miscellaneous Functions

- [CFAbsoluteTimeAddGregorianUnits(_:_:_:)](corefoundation/cfabsolutetimeaddgregorianunits(_:_:_:).md)
- [CFAbsoluteTimeGetCurrent()](corefoundation/cfabsolutetimegetcurrent().md)
- [CFAbsoluteTimeGetDayOfWeek(_:_:)](corefoundation/cfabsolutetimegetdayofweek(_:_:).md)
- [CFAbsoluteTimeGetDayOfYear(_:_:)](corefoundation/cfabsolutetimegetdayofyear(_:_:).md)
- [CFAbsoluteTimeGetGregorianDate(_:_:)](corefoundation/cfabsolutetimegetgregoriandate(_:_:).md)
- [CFAbsoluteTimeGetWeekOfYear(_:_:)](corefoundation/cfabsolutetimegetweekofyear(_:_:).md)
- [CFGregorianDateGetAbsoluteTime(_:_:)](corefoundation/cfgregoriandategetabsolutetime(_:_:).md)
- [CFGregorianDateIsValid(_:_:)](corefoundation/cfgregoriandateisvalid(_:_:).md)
