Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Header Files   Compound Members   File Members  

ucal.h File Reference

Calendar C API. More...


Typedefs

typedef void* UCalendar
A calendar. More...

typedef enum UCalendarType UCalendarType
typedef enum UCalendarDateFields UCalendarDateFields
typedef enum UCalendarDaysOfWeek UCalendarDaysOfWeek
typedef enum UCalendarMonths UCalendarMonths
typedef enum UCalendarAMPMs UCalendarAMPMs
typedef enum UCalendarDisplayNameType UCalendarDisplayNameType
typedef enum UCalendarAttribute UCalendarAttribute
typedef enum UCalendarLimitType UCalendarLimitType

Enumerations

enum  UCalendarType { UCAL_TRADITIONAL, UCAL_GREGORIAN }
Possible types of UCalendars. More...

enum  UCalendarDateFields { UCAL_ERA, UCAL_YEAR, UCAL_MONTH, UCAL_WEEK_OF_YEAR, UCAL_WEEK_OF_MONTH, UCAL_DATE, UCAL_DAY_OF_YEAR, UCAL_DAY_OF_WEEK, UCAL_DAY_OF_WEEK_IN_MONTH, UCAL_AM_PM, UCAL_HOUR, UCAL_HOUR_OF_DAY, UCAL_MINUTE, UCAL_SECOND, UCAL_MILLISECOND, UCAL_ZONE_OFFSET, UCAL_DST_OFFSET, UCAL_YEAR_WOY, UCAL_DOW_LOCAL, UCAL_FIELD_COUNT }
Possible fields in a UCalendar. More...

enum  UCalendarDaysOfWeek { UCAL_SUNDAY, UCAL_MONDAY, UCAL_TUESDAY, UCAL_WEDNESDAY, UCAL_THURSDAY, UCAL_FRIDAY, UCAL_SATURDAY }
Possible days of the week in a UCalendar. More...

enum  UCalendarMonths { UCAL_JANUARY, UCAL_FEBRUARY, UCAL_MARCH, UCAL_APRIL, UCAL_MAY, UCAL_JUNE, UCAL_JULY, UCAL_AUGUST, UCAL_SEPTEMBER, UCAL_OCTOBER, UCAL_NOVEMBER, UCAL_DECEMBER, UCAL_UNDECIMBER }
Possible months in a UCalendar. More...

enum  UCalendarAMPMs { UCAL_AM, UCAL_PM }
Possible AM/PM values in a UCalendar. More...

enum  UCalendarDisplayNameType { UCAL_STANDARD, UCAL_SHORT_STANDARD, UCAL_DST, UCAL_SHORT_DST }
Possible formats for a UCalendar's display name. More...

enum  UCalendarAttribute { UCAL_LENIENT, UCAL_FIRST_DAY_OF_WEEK, UCAL_MINIMAL_DAYS_IN_FIRST_WEEK }
Types of UCalendar attributes. More...

enum  UCalendarLimitType { UCAL_MINIMUM, UCAL_MAXIMUM, UCAL_GREATEST_MINIMUM, UCAL_LEAST_MAXIMUM, UCAL_ACTUAL_MINIMUM, UCAL_ACTUAL_MAXIMUM }
Possible limit values for a UCalendar. More...


Functions

U_CAPI const UCharucal_getAvailableTZIDs ( int32_t rawOffset, int32_t index, UErrorCode* status)
Get an available TimeZone ID. More...

U_CAPI int32_t ucal_countAvailableTZIDs (int32_t rawOffset)
Determine how many TimeZones exist with a certain offset. More...

U_CAPI UDate ucal_getNow (void)
Get the current date and time. More...

U_CAPI UCalendarucal_open ( const UChar* zoneID, int32_t len, const char* locale, UCalendarType type, UErrorCode* status)
Open a UCalendar. More...

U_CAPI void ucal_close (UCalendar *cal)
Close a UCalendar. More...

U_CAPI void ucal_setTimeZone ( UCalendar* cal, const UChar* zoneID, int32_t len, UErrorCode *status)
Set the TimeZone used by a UCalendar. More...

U_CAPI int32_t ucal_getTimeZoneDisplayName ( const UCalendar* cal, UCalendarDisplayNameType type, const char *locale, UChar* result, int32_t resultLength, UErrorCode* status)
Get the display name for a UCalendar's TimeZone. More...

U_CAPI bool_t ucal_inDaylightTime ( const UCalendar* cal, UErrorCode* status )
Determine if a UCalendar is currently in daylight savings time. More...

U_CAPI int32_t ucal_getAttribute ( const UCalendar* cal, UCalendarAttribute attr)
Get a numeric attribute associated with a UCalendar. More...

U_CAPI void ucal_setAttribute ( UCalendar* cal, UCalendarAttribute attr, int32_t newValue)
Set a numeric attribute associated with a UCalendar. More...

U_CAPI const char* ucal_getAvailable (int32_t index)
Get a locale for which calendars are available. More...

U_CAPI int32_t ucal_countAvailable (void)
Determine how many locales have calendars available. More...

U_CAPI UDate ucal_getMillis ( const UCalendar* cal, UErrorCode* status)
Get a UCalendar's current time in millis. More...

U_CAPI void ucal_setMillis ( UCalendar* cal, UDate dateTime, UErrorCode* status )
Set a UCalendar's current time in millis. More...

U_CAPI void ucal_setDate ( UCalendar* cal, int32_t year, int32_t month, int32_t date, UErrorCode *status)
Set a UCalendar's current date. More...

U_CAPI void ucal_setDateTime ( UCalendar* cal, int32_t year, int32_t month, int32_t date, int32_t hour, int32_t minute, int32_t second, UErrorCode *status)
Set a UCalendar's current date. More...

U_CAPI bool_t ucal_equivalentTo ( const UCalendar* cal1, const UCalendar* cal2)
Determine if two UCalendars represent the same date. More...

U_CAPI void ucal_add ( UCalendar* cal, UCalendarDateFields field, int32_t amount, UErrorCode* status)
Add a specified signed amount to a particular field in a UCalendar. More...

U_CAPI void ucal_roll ( UCalendar* cal, UCalendarDateFields field, int32_t amount, UErrorCode* status)
Add a specified signed amount to a particular field in a UCalendar. More...

U_CAPI int32_t ucal_get ( const UCalendar* cal, UCalendarDateFields field, UErrorCode* status )
Get the current value of a field from a UCalendar. More...

U_CAPI void ucal_set ( UCalendar* cal, UCalendarDateFields field, int32_t value)
Set the value of a field in a UCalendar. More...

U_CAPI bool_t ucal_isSet ( const UCalendar* cal, UCalendarDateFields field)
Determine if a field in a UCalendar is set. More...

U_CAPI void ucal_clearField ( UCalendar* cal, UCalendarDateFields field)
Clear a field in a UCalendar. More...

U_CAPI void ucal_clear (UCalendar* calendar)
Clear all fields in a UCalendar. More...

U_CAPI int32_t ucal_getLimit ( const UCalendar* cal, UCalendarDateFields field, UCalendarLimitType type, UErrorCode *status)
Determine a limit for a field in a UCalendar. More...


Detailed Description

Calendar C API.

UCalendar C API is used for converting between a UDate object and a set of integer fields such as UCAL_YEAR, UCAL_MONTH, UCAL_DAY, UCAL_HOUR, and so on. (A UDate object represents a specific instant in time with millisecond precision. See UDate for information about the UDate .)

Types of UCalendar interpret a UDate according to the rules of a specific calendar system. The U_CAPI provides the enum UCalendarType with UCAL_TRADITIONAL and UCAL_GREGORIAN.

Like other locale-sensitive C API, calendar API provides a function, ucal_open(), which returns a pointer to UCalendar whose time fields have been initialized with the current date and time. We need to specify the type of calendar to be opened and the timezoneId.

 UCalendar *caldef;
 UChar *tzId;
 UErrorCode status;
 tzId=(UChar*)malloc(sizeof(UChar) * (strlen("PST") +1) );
 u_uastrcpy(tzId, "PST");
 caldef=ucal_open(tzID, u_strlen(tzID), NULL, UCAL_TRADITIONAL, &status);
 

A UCalendar object can produce all the time field values needed to implement the date-time formatting for a particular language and calendar style (for example, Japanese-Gregorian, Japanese-Traditional).

When computing a UDate from time fields, two special circumstances may arise: there may be insufficient information to compute the UDate (such as only year and month but no day in the month), or there may be inconsistent information (such as "Tuesday, July 15, 1996" -- July 15, 1996 is actually a Monday).

Insufficient information. The calendar will use default information to specify the missing fields. This may vary by calendar; for the Gregorian calendar, the default for a field is the same as that of the start of the epoch: i.e., UCAL_YEAR = 1970, UCAL_MONTH = JANUARY, UCAL_DATE = 1, etc.

Inconsistent information. If fields conflict, the calendar will give preference to fields set more recently. For example, when determining the day, the calendar will look for one of the following combinations of fields. The most recent combination, as determined by the most recently set single field, will be used.

 UCAL_MONTH + UCAL_DAY_OF_MONTH
 UCAL_MONTH + UCAL_WEEK_OF_MONTH + UCAL_DAY_OF_WEEK
 UCAL_MONTH + UCAL_DAY_OF_WEEK_IN_MONTH + UCAL_DAY_OF_WEEK
 UCAL_DAY_OF_YEAR
 UCAL_DAY_OF_WEEK + UCAL_WEEK_OF_YEAR
 

For the time of day:

 UCAL_HOUR_OF_DAY
 UCAL_AM_PM + UCAL_HOUR
 

Note: for some non-Gregorian calendars, different fields may be necessary for complete disambiguation. For example, a full specification of the historial Arabic astronomical calendar requires year, month, day-of-month and day-of-week in some cases.

Note: There are certain possible ambiguities in interpretation of certain singular times, which are resolved in the following ways:

  1. 24:00:00 "belongs" to the following day. That is, 23:59 on Dec 31, 1969 < 24:00 on Jan 1, 1970 < 24:01:00 on Jan 1, 1970

  2. Although historically not precise, midnight also belongs to "am", and noon belongs to "pm", so on the same day, 12:00 am (midnight) < 12:01 am, and 12:00 pm (noon) < 12:01 pm

The date or time format strings are not part of the definition of a calendar, as those must be modifiable or overridable by the user at runtime. Use UDateFormat to format dates.

Calendar provides an API for field "rolling", where fields can be incremented or decremented, but wrap around. For example, rolling the month up in the date December 12, 1996 results in January 12, 1996.

Calendar also provides a date arithmetic function for adding the specified (signed) amount of time to a particular time field. For example, subtracting 5 days from the date September 12, 1996 results in September 7, 1996.


Typedef Documentation

typedef void* UCalendar

A calendar.

For usage in C programs.

typedef enum UCalendarType UCalendarType

typedef enum UCalendarDateFields UCalendarDateFields

typedef enum UCalendarDaysOfWeek UCalendarDaysOfWeek

typedef enum UCalendarMonths UCalendarMonths

typedef enum UCalendarAMPMs UCalendarAMPMs

typedef enum UCalendarDisplayNameType UCalendarDisplayNameType

typedef enum UCalendarAttribute UCalendarAttribute

typedef enum UCalendarLimitType UCalendarLimitType


Enumeration Type Documentation

enum UCalendarType

Possible types of UCalendars.

Enumeration values:
UCAL_TRADITIONAL   A traditional calendar for the locale.
UCAL_GREGORIAN   The Gregorian calendar.

enum UCalendarDateFields

Possible fields in a UCalendar.

Enumeration values:
UCAL_ERA   Era field.
UCAL_YEAR   Year field.
UCAL_MONTH   Month field.
UCAL_WEEK_OF_YEAR   Week of year field.
UCAL_WEEK_OF_MONTH   Week of month field.
UCAL_DATE   Date field.
UCAL_DAY_OF_YEAR   Day of year field.
UCAL_DAY_OF_WEEK   Day of week field.
UCAL_DAY_OF_WEEK_IN_MONTH   Day of week in month field.
UCAL_AM_PM   AM/PM field.
UCAL_HOUR   Hour field.
UCAL_HOUR_OF_DAY   Hour of day field.
UCAL_MINUTE   Minute field.
UCAL_SECOND   Second field.
UCAL_MILLISECOND   Millisecond field.
UCAL_ZONE_OFFSET   Zone offset field.
UCAL_DST_OFFSET   DST offset field.
UCAL_YEAR_WOY   Year / week of year.
UCAL_DOW_LOCAL   Day of week, localized (1..7).
UCAL_FIELD_COUNT   Field count.

enum UCalendarDaysOfWeek

Possible days of the week in a UCalendar.

Enumeration values:
UCAL_SUNDAY   Sunday.
UCAL_MONDAY   Monday.
UCAL_TUESDAY   Tuesday.
UCAL_WEDNESDAY   Wednesday.
UCAL_THURSDAY   Thursday.
UCAL_FRIDAY   Friday.
UCAL_SATURDAY   Saturday.

enum UCalendarMonths

Possible months in a UCalendar.

Note: Calendar month is 0-based.

Enumeration values:
UCAL_JANUARY   January.
UCAL_FEBRUARY   February.
UCAL_MARCH   March.
UCAL_APRIL   April.
UCAL_MAY   May.
UCAL_JUNE   June.
UCAL_JULY   July.
UCAL_AUGUST   August.
UCAL_SEPTEMBER   September.
UCAL_OCTOBER   October.
UCAL_NOVEMBER   November.
UCAL_DECEMBER   December.
UCAL_UNDECIMBER   Undecimber.

enum UCalendarAMPMs

Possible AM/PM values in a UCalendar.

Enumeration values:
UCAL_AM   AM.
UCAL_PM   PM.

enum UCalendarDisplayNameType

Possible formats for a UCalendar's display name.

Enumeration values:
UCAL_STANDARD   Standard display name.
UCAL_SHORT_STANDARD   Short standard display name.
UCAL_DST   Daylight savings display name.
UCAL_SHORT_DST   Short daylight savings display name.

enum UCalendarAttribute

Types of UCalendar attributes.

Enumeration values:
UCAL_LENIENT   Lenient parsing.
UCAL_FIRST_DAY_OF_WEEK   First day of week.
UCAL_MINIMAL_DAYS_IN_FIRST_WEEK   Minimum number of days in first week.

enum UCalendarLimitType

Possible limit values for a UCalendar.

Enumeration values:
UCAL_MINIMUM   Minimum value.
UCAL_MAXIMUM   Maximum value.
UCAL_GREATEST_MINIMUM   Greatest minimum value.
UCAL_LEAST_MAXIMUM   Leaest maximum value.
UCAL_ACTUAL_MINIMUM   Actual minimum value.
UCAL_ACTUAL_MAXIMUM   Actual maximum value.

Function Documentation

U_CAPI const UChar * ucal_getAvailableTZIDs (int32_t rawOffset, int32_t index, UErrorCode * status)

Get an available TimeZone ID.

A Timezone ID is a string of the form "America/Los Angeles".

Parameters:
rawOffset   The desired GMT offset
index   The index of the desired TimeZone.
status   A pointer to an UErrorCode to receive any errors
Returns:
The requested TimeZone ID, or 0 if not found
See also:
ucal_countAvailableTZIDs()
Stable:

U_CAPI int32_t ucal_countAvailableTZIDs (int32_t rawOffset)

Determine how many TimeZones exist with a certain offset.

This function is most useful as determining the loop ending condition for calls to \Ref{ucal_getAvailableTZIDs}.

Parameters:
rawOffset   The desired GMT offset.
Returns:
The number of TimeZones with rawOffset.
See also:
ucal_getAvailableTZIDs()
Stable:

U_CAPI UDate ucal_getNow (void)

Get the current date and time.

The value returned is represented as milliseconds from the epoch.

Returns:
The current date and time.
Stable:

U_CAPI UCalendar * ucal_open (const UChar * zoneID, int32_t len, const char * locale, UCalendarType type, UErrorCode * status)

Open a UCalendar.

A UCalendar may be used to convert a millisecond value to a year, month, and day.

Parameters:
zoneID   The desired TimeZone ID. If 0, use the default time zone.
len   The length of zoneID, or -1 if null-terminated.
locale   The desired locale
type   The type of UCalendar to open.
status   A pointer to an UErrorCode to receive any errors
Returns:
A pointer to a UCalendar, or 0 if an error occurred.
Stable:

U_CAPI void ucal_close (UCalendar * cal)

Close a UCalendar.

Once closed, a UCalendar may no longer be used.

Parameters:
cal   The UCalendar to close.
Stable:

U_CAPI void ucal_setTimeZone (UCalendar * cal, const UChar * zoneID, int32_t len, UErrorCode * status)

Set the TimeZone used by a UCalendar.

A UCalendar uses a timezone for converting from Greenwich time to local time.

Parameters:
cal   The UCalendar to set.
zoneID   The desired TimeZone ID. If 0, use the default time zone.
len   The length of zoneID, or -1 if null-terminated.
status   A pointer to an UErrorCode to receive any errors.
Stable:

U_CAPI int32_t ucal_getTimeZoneDisplayName (const UCalendar * cal, UCalendarDisplayNameType type, const char * locale, UChar * result, int32_t resultLength, UErrorCode * status)

Get the display name for a UCalendar's TimeZone.

A display name is suitable for presentation to a user.

Parameters:
cal   The UCalendar to query.
type   The desired display name format; one of UCAL_STANDARD, UCAL_SHORT_STANDARD, UCAL_DST, UCAL_SHORT_DST
locale   The desired locale for the display name.
status   A pointer to an UErrorCode to receive any errors
result   A pointer to a buffer to receive the formatted number.
resultLength   The maximum size of result.
resultLengthNeeded   If not 0, on output the number of characters actually written to result.
Returns:
The total buffer size needed; if greater than resultLength, the output was truncated.
Stable:

U_CAPI bool_t ucal_inDaylightTime (const UCalendar * cal, UErrorCode * status)

Determine if a UCalendar is currently in daylight savings time.

Daylight savings time is not used in all parts of the world.

Parameters:
cal   The UCalendar to query.
status   A pointer to an UErrorCode to receive any errors
Returns:
TRUE if cal is currently in daylight savings time, FALSE otherwise
Stable:

U_CAPI int32_t ucal_getAttribute (const UCalendar * cal, UCalendarAttribute attr)

Get a numeric attribute associated with a UCalendar.

Numeric attributes include the first day of the week, or the minimal numbers of days in the first week of the month.

Parameters:
cal   The UCalendar to query.
attr   The desired attribute; one of UCAL_LENIENT, UCAL_FIRST_DAY_OF_WEEK, or UCAL_MINIMAL_DAYS_IN_FIRST_WEEK
Returns:
The value of attr.
See also:
ucal_setAttribute()
Stable:

U_CAPI void ucal_setAttribute (UCalendar * cal, UCalendarAttribute attr, int32_t newValue)

Set a numeric attribute associated with a UCalendar.

Numeric attributes include the first day of the week, or the minimal numbers of days in the first week of the month.

Parameters:
cal   The UCalendar to set.
attr   The desired attribute; one of UCAL_LENIENT, UCAL_FIRST_DAY_OF_WEEK, or UCAL_MINIMAL_DAYS_IN_FIRST_WEEK
newValue   The new value of attr.
See also:
ucal_getAttribute()
Stable:

U_CAPI const char * ucal_getAvailable (int32_t index)

Get a locale for which calendars are available.

A UCalendar in a locale returned by this function will contain the correct day and month names for the locale.

Parameters:
index   The index of the desired locale.
Returns:
A locale for which calendars are available, or 0 if none.
See also:
ucal_countAvailable()
Stable:

U_CAPI int32_t ucal_countAvailable (void)

Determine how many locales have calendars available.

This function is most useful as determining the loop ending condition for calls to \Ref{ucal_getAvailable}.

Returns:
The number of locales for which calendars are available.
See also:
ucal_getAvailable()
Stable:

U_CAPI UDate ucal_getMillis (const UCalendar * cal, UErrorCode * status)

Get a UCalendar's current time in millis.

The time is represented as milliseconds from the epoch.

Parameters:
cal   The UCalendar to query.
status   A pointer to an UErrorCode to receive any errors
Returns:
The calendar's current time in millis.
See also:
ucal_setMillis() , ucal_setDate() , ucal_setDateTime()
Stable:

U_CAPI void ucal_setMillis (UCalendar * cal, UDate dateTime, UErrorCode * status)

Set a UCalendar's current time in millis.

The time is represented as milliseconds from the epoch.

Parameters:
cal   The UCalendar to set.
dateTime   The desired date and time.
status   A pointer to an UErrorCode to receive any errors
See also:
ucal_getMillis() , ucal_setDate() , ucal_setDateTime()
Stable:

U_CAPI void ucal_setDate (UCalendar * cal, int32_t year, int32_t month, int32_t date, UErrorCode * status)

Set a UCalendar's current date.

The date is represented as a series of 32-bit integers.

Parameters:
cal   The UCalendar to set.
year   The desired year.
month   The desired month; one of UCAL_JANUARY, UCAL_FEBRUARY, UCAL_MARCH, UCAL_APRIL, UCAL_MAY, UCAL_JUNE, UCAL_JULY, UCAL_AUGUST, UCAL_SEPTEMBER, UCAL_OCTOBER, UCAL_NOVEMBER, UCAL_DECEMBER, UCAL_UNDECIMBER
date   The desired day of the month.
status   A pointer to an UErrorCode to receive any errors
See also:
ucal_getMillis() , ucal_setMillis() , ucal_setDateTime()
Stable:

U_CAPI void ucal_setDateTime (UCalendar * cal, int32_t year, int32_t month, int32_t date, int32_t hour, int32_t minute, int32_t second, UErrorCode * status)

Set a UCalendar's current date.

The date is represented as a series of 32-bit integers.

Parameters:
cal   The UCalendar to set.
year   The desired year.
month   The desired month; one of UCAL_JANUARY, UCAL_FEBRUARY, UCAL_MARCH, UCAL_APRIL, UCAL_MAY, UCAL_JUNE, UCAL_JULY, UCAL_AUGUST, UCAL_SEPTEMBER, UCAL_OCTOBER, UCAL_NOVEMBER, UCAL_DECEMBER, UCAL_UNDECIMBER
date   The desired day of the month.
hour   The desired hour of day.
minute   The desired minute.
second   The desirec second.
status   A pointer to an UErrorCode to receive any errors
See also:
ucal_getMillis() , ucal_setMillis() , ucal_setDate()
Stable:

U_CAPI bool_t ucal_equivalentTo (const UCalendar * cal1, const UCalendar * cal2)

Determine if two UCalendars represent the same date.

Two UCalendars may represent the same date and have different fields if they are in different time zones.

Parameters:
cal1   The first of the UCalendars to compare.
cal2   The second of the UCalendars to compare.
Returns:
TRUE if cal1 and cal2 represent the same date, FALSE otherwise.
Stable:

U_CAPI void ucal_add (UCalendar * cal, UCalendarDateFields field, int32_t amount, UErrorCode * status)

Add a specified signed amount to a particular field in a UCalendar.

This can modify more significant fields in the calendar.

Parameters:
cal   The UCalendar to which to add.
field   The field to which to add the signed value; one of UCAL_ERA, UCAL_YEAR, UCAL_MONTH, UCAL_WEEK_OF_YEAR, UCAL_WEEK_OF_MONTH, UCAL_DATE, UCAL_DAY_OF_YEAR, UCAL_DAY_OF_WEEK, UCAL_DAY_OF_WEEK_IN_MONTH, UCAL_AM_PM, UCAL_HOUR, UCAL_HOUR_OF_DAY, UCAL_MINUTE, UCAL_SECOND, UCAL_MILLISECOND, UCAL_ZONE_OFFSET, UCAL_DST_OFFSET.
amount   The signed amount to add to field. If the amount causes the value to exceed to maximum or minimum values for that field, other fields are modified to preserve the magnitude of the change.
status   A pointer to an UErrorCode to receive any errors
See also:
ucal_roll()
Stable:

U_CAPI void ucal_roll (UCalendar * cal, UCalendarDateFields field, int32_t amount, UErrorCode * status)

Add a specified signed amount to a particular field in a UCalendar.

This will not modify more significant fields in the calendar.

Parameters:
cal   The UCalendar to which to add.
field   The field to which to add the signed value; one of UCAL_ERA, UCAL_YEAR, UCAL_MONTH, UCAL_WEEK_OF_YEAR, UCAL_WEEK_OF_MONTH, UCAL_DATE, UCAL_DAY_OF_YEAR, UCAL_DAY_OF_WEEK, UCAL_DAY_OF_WEEK_IN_MONTH, UCAL_AM_PM, UCAL_HOUR, UCAL_HOUR_OF_DAY, UCAL_MINUTE, UCAL_SECOND, UCAL_MILLISECOND, UCAL_ZONE_OFFSET, UCAL_DST_OFFSET.
amount   The signed amount to add to field. If the amount causes the value to exceed to maximum or minimum values for that field, the field is pinned to a permissible value.
status   A pointer to an UErrorCode to receive any errors
See also:
ucal_add()
Stable:

U_CAPI int32_t ucal_get (const UCalendar * cal, UCalendarDateFields field, UErrorCode * status)

Get the current value of a field from a UCalendar.

All fields are represented as 32-bit integers.

Parameters:
cal   The UCalendar to query.
field   The desired field; one of UCAL_ERA, UCAL_YEAR, UCAL_MONTH, UCAL_WEEK_OF_YEAR, UCAL_WEEK_OF_MONTH, UCAL_DATE, UCAL_DAY_OF_YEAR, UCAL_DAY_OF_WEEK, UCAL_DAY_OF_WEEK_IN_MONTH, UCAL_AM_PM, UCAL_HOUR, UCAL_HOUR_OF_DAY, UCAL_MINUTE, UCAL_SECOND, UCAL_MILLISECOND, UCAL_ZONE_OFFSET, UCAL_DST_OFFSET.
status   A pointer to an UErrorCode to receive any errors
Returns:
The value of the desired field.
See also:
ucal_set() , ucal_isSet() , ucal_clearField() , ucal_clear()
Stable:

U_CAPI void ucal_set (UCalendar * cal, UCalendarDateFields field, int32_t value)

Set the value of a field in a UCalendar.

All fields are represented as 32-bit integers.

Parameters:
cal   The UCalendar to set.
field   The field to set; one of UCAL_ERA, UCAL_YEAR, UCAL_MONTH, UCAL_WEEK_OF_YEAR, UCAL_WEEK_OF_MONTH, UCAL_DATE, UCAL_DAY_OF_YEAR, UCAL_DAY_OF_WEEK, UCAL_DAY_OF_WEEK_IN_MONTH, UCAL_AM_PM, UCAL_HOUR, UCAL_HOUR_OF_DAY, UCAL_MINUTE, UCAL_SECOND, UCAL_MILLISECOND, UCAL_ZONE_OFFSET, UCAL_DST_OFFSET.
value   The desired value of field.
See also:
ucal_get() , ucal_isSet() , ucal_clearField() , ucal_clear()
Stable:

U_CAPI bool_t ucal_isSet (const UCalendar * cal, UCalendarDateFields field)

Determine if a field in a UCalendar is set.

All fields are represented as 32-bit integers.

Parameters:
cal   The UCalendar to query.
field   The desired field; one of UCAL_ERA, UCAL_YEAR, UCAL_MONTH, UCAL_WEEK_OF_YEAR, UCAL_WEEK_OF_MONTH, UCAL_DATE, UCAL_DAY_OF_YEAR, UCAL_DAY_OF_WEEK, UCAL_DAY_OF_WEEK_IN_MONTH, UCAL_AM_PM, UCAL_HOUR, UCAL_HOUR_OF_DAY, UCAL_MINUTE, UCAL_SECOND, UCAL_MILLISECOND, UCAL_ZONE_OFFSET, UCAL_DST_OFFSET.
return   TRUE if field is set, FALSE otherwise.
See also:
ucal_get() , ucal_set() , ucal_clearField() , ucal_clear()
Stable:

U_CAPI void ucal_clearField (UCalendar * cal, UCalendarDateFields field)

Clear a field in a UCalendar.

All fields are represented as 32-bit integers.

Parameters:
cal   The UCalendar containing the field to clear.
field   The field to clear; one of UCAL_ERA, UCAL_YEAR, UCAL_MONTH, UCAL_WEEK_OF_YEAR, UCAL_WEEK_OF_MONTH, UCAL_DATE, UCAL_DAY_OF_YEAR, UCAL_DAY_OF_WEEK, UCAL_DAY_OF_WEEK_IN_MONTH, UCAL_AM_PM, UCAL_HOUR, UCAL_HOUR_OF_DAY, UCAL_MINUTE, UCAL_SECOND, UCAL_MILLISECOND, UCAL_ZONE_OFFSET, UCAL_DST_OFFSET.
See also:
ucal_get() , ucal_set() , ucal_isSet() , ucal_clear()
Stable:

U_CAPI void ucal_clear (UCalendar * calendar)

Clear all fields in a UCalendar.

All fields are represented as 32-bit integers.

Parameters:
cal   The UCalendar to clear.
See also:
ucal_get() , ucal_set() , ucal_isSet() , ucal_clearField()
Stable:

U_CAPI int32_t ucal_getLimit (const UCalendar * cal, UCalendarDateFields field, UCalendarLimitType type, UErrorCode * status)

Determine a limit for a field in a UCalendar.

A limit is a maximum or minimum value for a field.

Parameters:
cal   The UCalendar to query.
field   The desired field; one of UCAL_ERA, UCAL_YEAR, UCAL_MONTH, UCAL_WEEK_OF_YEAR, UCAL_WEEK_OF_MONTH, UCAL_DATE, UCAL_DAY_OF_YEAR, UCAL_DAY_OF_WEEK, UCAL_DAY_OF_WEEK_IN_MONTH, UCAL_AM_PM, UCAL_HOUR, UCAL_HOUR_OF_DAY, UCAL_MINUTE, UCAL_SECOND, UCAL_MILLISECOND, UCAL_ZONE_OFFSET, UCAL_DST_OFFSET.
type   The desired critical point; one of UCAL_MINIMUM, UCAL_MAXIMUM, UCAL_GREATEST_MINIMUM, UCAL_LEAST_MAXIMUM, UCAL_ACTUAL_MINIMUM, UCAL_ACTUAL_MAXIMUM
status   A pointer to an UErrorCode to receive any errors.
Returns:
The requested value.
Stable:

Generated at Thu Feb 10 15:30:12 2000 for icu by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999