Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Search
ucal.h File Reference
C API: Calendar.
More...
#include "unicode/utypes.h"
#include "unicode/uenum.h"
#include "unicode/uloc.h"
Go to the source code of this file.
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_EXTENDED_YEAR,
UCAL_JULIAN_DAY,
UCAL_MILLISECONDS_IN_DAY,
UCAL_FIELD_COUNT,
UCAL_DAY_OF_MONTH = UCAL_DATE
} |
| Possible fields in a UCalendar. More...
|
enum | UCalendarDaysOfWeek {
UCAL_SUNDAY = 1,
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 |
UEnumeration * | ucal_openTimeZones (UErrorCode *ec) |
| Create an enumeration over all time zones. More...
|
UEnumeration * | ucal_openCountryTimeZones (const char *country, UErrorCode *ec) |
| Create an enumeration over all time zones associated with the given country. More...
|
int32_t | ucal_getDefaultTimeZone (UChar *result, int32_t resultCapacity, UErrorCode *ec) |
| Return the default time zone. More...
|
void | ucal_setDefaultTimeZone (const UChar *zoneID, UErrorCode *ec) |
| Set the default time zone. More...
|
int32_t | ucal_getDSTSavings (const UChar *zoneID, UErrorCode *ec) |
| Return the amount of time in milliseconds that the clock is advanced during daylight savings time for the given time zone, or zero if the time zone does not observe daylight savings time. More...
|
UDate | ucal_getNow (void) |
| Get the current date and time. More...
|
UCalendar * | ucal_open (const UChar *zoneID, int32_t len, const char *locale, UCalendarType type, UErrorCode *status) |
| Open a UCalendar. More...
|
void | ucal_close (UCalendar *cal) |
| Close a UCalendar. More...
|
void | ucal_setTimeZone (UCalendar *cal, const UChar *zoneID, int32_t len, UErrorCode *status) |
| Set the TimeZone used by a UCalendar. More...
|
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...
|
UBool | ucal_inDaylightTime (const UCalendar *cal, UErrorCode *status) |
| Determine if a UCalendar is currently in daylight savings time. More...
|
int32_t | ucal_getAttribute (const UCalendar *cal, UCalendarAttribute attr) |
| Get a numeric attribute associated with a UCalendar. More...
|
void | ucal_setAttribute (UCalendar *cal, UCalendarAttribute attr, int32_t newValue) |
| Set a numeric attribute associated with a UCalendar. More...
|
const char * | ucal_getAvailable (int32_t index) |
| Get a locale for which calendars are available. More...
|
int32_t | ucal_countAvailable (void) |
| Determine how many locales have calendars available. More...
|
UDate | ucal_getMillis (const UCalendar *cal, UErrorCode *status) |
| Get a UCalendar's current time in millis. More...
|
void | ucal_setMillis (UCalendar *cal, UDate dateTime, UErrorCode *status) |
| Set a UCalendar's current time in millis. More...
|
void | ucal_setDate (UCalendar *cal, int32_t year, int32_t month, int32_t date, UErrorCode *status) |
| Set a UCalendar's current date. More...
|
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...
|
UBool | ucal_equivalentTo (const UCalendar *cal1, const UCalendar *cal2) |
| Returns TRUE if two UCalendars are equivalent. More...
|
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...
|
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...
|
int32_t | ucal_get (const UCalendar *cal, UCalendarDateFields field, UErrorCode *status) |
| Get the current value of a field from a UCalendar. More...
|
void | ucal_set (UCalendar *cal, UCalendarDateFields field, int32_t value) |
| Set the value of a field in a UCalendar. More...
|
UBool | ucal_isSet (const UCalendar *cal, UCalendarDateFields field) |
| Determine if a field in a UCalendar is set. More...
|
void | ucal_clearField (UCalendar *cal, UCalendarDateFields field) |
| Clear a field in a UCalendar. More...
|
void | ucal_clear (UCalendar *calendar) |
| Clear all fields in a UCalendar. More...
|
int32_t | ucal_getLimit (const UCalendar *cal, UCalendarDateFields field, UCalendarLimitType type, UErrorCode *status) |
| Determine a limit for a field in a UCalendar. More...
|
const char * | ucal_getLocaleByType (const UCalendar *cal, ULocDataLocaleType type, UErrorCode *status) |
| Get the locale for this calendar object. More...
|
Detailed Description
C API: Calendar.
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.
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.
For the time of day:
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:
- 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
- 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 DateFormat 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
.
-
Stable:
-
ICU 2.0
Definition in file ucal.h.
Typedef Documentation
|
A calendar.
For usage in C programs. -
Stable:
-
ICU 2.0
Definition at line 144 of file ucal.h. |
typedef enum UCalendarAMPMs UCalendarAMPMs
|
|
|
-
Stable:
-
ICU 2.0
Definition at line 362 of file ucal.h. |
typedef enum UCalendarAttribute UCalendarAttribute
|
|
|
-
Stable:
-
ICU 2.0
Definition at line 564 of file ucal.h. |
typedef enum UCalendarDateFields UCalendarDateFields
|
|
|
-
Stable:
-
ICU 2.0
Definition at line 287 of file ucal.h. |
typedef enum UCalendarDaysOfWeek UCalendarDaysOfWeek
|
|
|
-
Stable:
-
ICU 2.0
Definition at line 314 of file ucal.h. |
typedef enum UCalendarDisplayNameType UCalendarDisplayNameType
|
|
|
-
Stable:
-
ICU 2.0
Definition at line 515 of file ucal.h. |
typedef enum UCalendarLimitType UCalendarLimitType
|
|
|
-
Stable:
-
ICU 2.0
Definition at line 865 of file ucal.h. |
typedef enum UCalendarMonths UCalendarMonths
|
|
|
-
Stable:
-
ICU 2.0
Definition at line 349 of file ucal.h. |
typedef enum UCalendarType UCalendarType
|
|
|
-
Stable:
-
ICU 2.0
Definition at line 157 of file ucal.h. |
Enumeration Type Documentation
|
Possible AM/PM values in a UCalendar.
-
Stable:
-
ICU 2.0
-
Enumeration values:
-
Definition at line 354 of file ucal.h. |
|
Types of UCalendar attributes.
-
Stable:
-
ICU 2.0
-
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. |
Definition at line 554 of file ucal.h. |
|
Possible fields in a UCalendar.
-
Stable:
-
ICU 2.0
-
Enumeration values:
-
UCAL_ERA |
Era field.
-
Stable:
-
ICU 2.6
|
UCAL_YEAR |
Year field.
-
Stable:
-
ICU 2.6
|
UCAL_MONTH |
Month field.
-
Stable:
-
ICU 2.6
|
UCAL_WEEK_OF_YEAR |
Week of year field.
-
Stable:
-
ICU 2.6
|
UCAL_WEEK_OF_MONTH |
Week of month field.
-
Stable:
-
ICU 2.6
|
UCAL_DATE |
Date field.
-
Stable:
-
ICU 2.6
|
UCAL_DAY_OF_YEAR |
Day of year field.
-
Stable:
-
ICU 2.6
|
UCAL_DAY_OF_WEEK |
Day of week field.
-
Stable:
-
ICU 2.6
|
UCAL_DAY_OF_WEEK_IN_MONTH |
Day of week in month field.
-
Stable:
-
ICU 2.6
|
UCAL_AM_PM |
AM/PM field.
-
Stable:
-
ICU 2.6
|
UCAL_HOUR |
Hour field.
-
Stable:
-
ICU 2.6
|
UCAL_HOUR_OF_DAY |
Hour of day field.
-
Stable:
-
ICU 2.6
|
UCAL_MINUTE |
Minute field.
-
Stable:
-
ICU 2.6
|
UCAL_SECOND |
Second field.
-
Stable:
-
ICU 2.6
|
UCAL_MILLISECOND |
Millisecond field.
-
Stable:
-
ICU 2.6
|
UCAL_ZONE_OFFSET |
Zone offset field.
-
Stable:
-
ICU 2.6
|
UCAL_DST_OFFSET |
DST offset field.
-
Stable:
-
ICU 2.6
|
UCAL_YEAR_WOY |
Year / week of year.
-
Stable:
-
ICU 2.6
|
UCAL_DOW_LOCAL |
Day of week, localized (1..7).
-
Stable:
-
ICU 2.6
|
UCAL_EXTENDED_YEAR |
Year of this calendar system, encompassing all supra-year fields.
For example, in Gregorian/Julian calendars, positive Extended Year values indicate years AD, 1 BC = 0 extended, 2 BC = -1 extended, and so on. -
Draft:
-
This API has been introduced in ICU 2.8. It is still in draft state and may be modified in a future release.
|
UCAL_JULIAN_DAY |
Modified Julian day number, encompassing all date-related fields.
Demarcates at local midnight. -
Draft:
-
This API has been introduced in ICU 2.8. It is still in draft state and may be modified in a future release.
|
UCAL_MILLISECONDS_IN_DAY |
Ranges from 0 to 23:59:59.999 (regardless of DST).
This field behaves exactly like a composite of all time-related fields, not including the zone fields. As such, it also reflects discontinuities of those fields on DST transition days. On a day of DST onset, it will jump forward. On a day of DST cessation, it will jump backward. This reflects the fact that is must be combined with the DST_OFFSET field to obtain a unique local time value. -
Draft:
-
This API has been introduced in ICU 2.8. It is still in draft state and may be modified in a future release.
|
UCAL_FIELD_COUNT |
Field count.
-
Stable:
-
ICU 2.6
|
UCAL_DAY_OF_MONTH |
Synonym for UCAL_DATE.
-
Draft:
-
This API has been introduced in ICU 2.8. It is still in draft state and may be modified in a future release.
|
Definition at line 162 of file ucal.h. |
|
Possible days of the week in a UCalendar.
-
Stable:
-
ICU 2.0
-
Enumeration values:
-
UCAL_SUNDAY |
Sunday. |
UCAL_MONDAY |
Monday. |
UCAL_TUESDAY |
Tuesday. |
UCAL_WEDNESDAY |
Wednesday. |
UCAL_THURSDAY |
Thursday. |
UCAL_FRIDAY |
Friday. |
UCAL_SATURDAY |
Saturday. |
Definition at line 296 of file ucal.h. |
enum UCalendarDisplayNameType
|
|
|
Possible formats for a UCalendar's display name.
-
Stable:
-
ICU 2.0
-
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. |
Definition at line 503 of file ucal.h. |
|
Possible limit values for a UCalendar.
-
Stable:
-
ICU 2.0
-
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. |
Definition at line 849 of file ucal.h. |
|
Possible months in a UCalendar.
Note: Calendar month is 0-based. -
Stable:
-
ICU 2.0
-
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. |
Definition at line 319 of file ucal.h. |
|
Possible types of UCalendars.
-
Stable:
-
ICU 2.0
-
Enumeration values:
-
UCAL_TRADITIONAL |
A traditional calendar for the locale. |
UCAL_GREGORIAN |
The Gregorian calendar. |
Definition at line 149 of file ucal.h. |
Function Documentation
|
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:
-
ICU 2.0
|
|
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:
-
ICU 2.0
|
|
Close a UCalendar.
Once closed, a UCalendar may no longer be used. -
Parameters:
-
cal |
The UCalendar to close. |
-
Stable:
-
ICU 2.0
|
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:
-
ICU 2.0
|
|
Returns TRUE if two UCalendars are equivalent.
Equivalent UCalendars will behave identically, but they may be set to different times. -
Parameters:
-
cal1 |
The first of the UCalendars to compare. |
cal2 |
The second of the UCalendars to compare. |
-
Returns:
-
TRUE if cal1 and cal2 are equivalent, FALSE otherwise.
-
Stable:
-
ICU 2.0
|
|
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:
-
ICU 2.0
|
|
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:
-
ICU 2.0
|
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:
-
ICU 2.0
|
int32_t ucal_getDSTSavings |
( |
const UChar * |
zoneID, |
|
|
UErrorCode * |
ec |
|
) |
|
|
|
Return the amount of time in milliseconds that the clock is advanced during daylight savings time for the given time zone, or zero if the time zone does not observe daylight savings time.
-
Parameters:
-
zoneID |
null-terminated time zone ID |
ec |
input/output error code |
-
Returns:
-
the number of milliseconds the time is advanced with respect to standard time when the daylight savings rules are in effect. This is always a non-negative number, most commonly either 3,600,000 (one hour) or zero.
-
Draft:
-
This API has been introduced in ICU 2.6. It is still in draft state and may be modified in a future release.
|
int32_t ucal_getDefaultTimeZone |
( |
UChar * |
result, |
|
|
int32_t |
resultCapacity, |
|
|
UErrorCode * |
ec |
|
) |
|
|
|
Return the default time zone.
The default is determined initially by querying the host operating system. It may be changed with ucal_setDefaultTimeZone() or with the C++ TimeZone API. -
Parameters:
-
result |
A buffer to receive the result, or NULL |
resultCapacity |
The capacity of the result buffer |
ec |
input/output error code |
-
Returns:
-
The result string length, not including the terminating null
-
Draft:
-
This API has been introduced in ICU 2.6. It is still in draft state and may be modified in a future release.
|
|
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:
-
ICU 2.0
|
|
Get the locale for this calendar object.
You can choose between valid and actual locale. -
Parameters:
-
cal |
The calendar object |
type |
type of the locale we're looking for (valid or actual) |
status |
error code for the operation |
-
Returns:
-
the locale name
|
|
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:
-
ICU 2.0
|
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:
-
ICU 2.0
|
|
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. |
result |
A pointer to a buffer to receive the formatted number. |
resultLength |
The maximum size of result. |
status |
A pointer to an UErrorCode to receive any errors |
-
Returns:
-
The total buffer size needed; if greater than resultLength, the output was truncated.
-
Stable:
-
ICU 2.0
|
|
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:
-
ICU 2.0
|
|
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. |
-
Returns:
-
TRUE if field is set, FALSE otherwise.
-
See also:
-
ucal_get , ucal_set , ucal_clearField , ucal_clear
-
Stable:
-
ICU 2.0
|
|
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:
-
ICU 2.0
|
|
Create an enumeration over all time zones associated with the given country.
Some zones are affiliated with no country (e.g., "UTC"); these may also be retrieved, as a group. -
Parameters:
-
country |
the ISO 3166 two-letter country code, or NULL to retrieve zones not affiliated with any country |
ec |
input/output error code |
-
Returns:
-
an enumeration object that the caller must dispose of using uenum_close(), or NULL upon failure. In case of failure *ec will indicate the error.
-
Draft:
-
This API has been introduced in ICU 2.6. It is still in draft state and may be modified in a future release.
|
|
Create an enumeration over all time zones.
-
Parameters:
-
ec |
input/output error code |
-
Returns:
-
an enumeration object that the caller must dispose of using uenum_close(), or NULL upon failure. In case of failure *ec will indicate the error.
-
Draft:
-
This API has been introduced in ICU 2.6. It is still in draft state and may be modified in a future release.
|
|
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:
-
ICU 2.0
|
|
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:
-
ICU 2.0
|
|
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:
-
ICU 2.0
|
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:
-
ICU 2.0
|
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:
-
ICU 2.0
|
void ucal_setDefaultTimeZone |
( |
const UChar * |
zoneID, |
|
|
UErrorCode * |
ec |
|
) |
|
|
|
Set the default time zone.
-
Parameters:
-
zoneID |
null-terminated time zone ID |
ec |
input/output error code |
-
Draft:
-
This API has been introduced in ICU 2.6. It is still in draft state and may be modified in a future release.
|
|
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:
-
ICU 2.0
|
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:
-
ICU 2.0
|
Generated on Mon Nov 24 14:35:50 2003 for ICU 2.8 by
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001