Computes the components which are indicated by the componentDesc description string for the given absolute time.


Boolean CFCalendarDecomposeAbsoluteTime(CFCalendarRef calendar, CFAbsoluteTime at, const char *componentDesc, ...);



The calendar to use for the computation.


An absolute time.


A string that describes the components provided in the vararg parameters.


Vararg pointers to storage for each of the desired components. On successful return, the pointers are filled with values of the corresponding components. The type of all units is int.

Return Value

TRUE if the function is able to compute the components indicated by the componentDesc description string for the given absolute time, and fills the values to the components given in the varargs. Returns FALSE if the absolute time falls outside the defined range of the calendar, or the computation cannot be performed.


The Weekday ordinality, when requested, refers to the next larger (than Week) of the requested units. Some computations can take a relatively long time to perform.

The following example shows how to use this function to determine the current year, month, and day, using an existing calendar (gregorian):

CFCalendarDecomposeAbsoluteTime(gregorian, CFAbsoluteTimeGetCurrent(), "yMd",  &year, &month, &day);

See Also

Calendrical Calculations


Computes the absolute time when specified components are added to a given absolute time.


Computes the absolute time from components in a description string.


Computes the difference between the two absolute times, in terms of specified calendrical components.