ICU 73.2  73.2
ucal.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4  *******************************************************************************
5  * Copyright (C) 1996-2015, International Business Machines Corporation and
6  * others. All Rights Reserved.
7  *******************************************************************************
8  */
9 
10 #ifndef UCAL_H
11 #define UCAL_H
12 
13 #include "unicode/utypes.h"
14 #include "unicode/uenum.h"
15 #include "unicode/uloc.h"
16 
17 #if U_SHOW_CPLUSPLUS_API
18 #include "unicode/localpointer.h"
19 #endif // U_SHOW_CPLUSPLUS_API
20 
21 #if !UCONFIG_NO_FORMATTING
22 
166 #define UCAL_UNKNOWN_ZONE_ID "Etc/Unknown"
167 
172 typedef void* UCalendar;
173 
194 };
195 
197 typedef enum UCalendarType UCalendarType;
198 
209 
215 
236 
249 
264 
273 
280 
296 
321 
332 
343 
352 
360 
368 
376 
383 
390 
399 
407 
415 
427 
438 
444 
445 #ifndef U_HIDE_DRAFT_API
470 #endif // U_HIDE_DRAFT_API
471 
472  /* Do not conditionalize the following with #ifndef U_HIDE_DEPRECATED_API,
473  * it is needed for layout of Calendar, DateFormat, and other objects */
474 #ifndef U_FORCE_HIDE_DEPRECATED_API
479 #ifdef U_HIDE_DRAFT_API
480  // Must include all fields that will be in structs
482 #else // U_HIDE_DRAFT_API (for UCAL_ORDINAL_MONTH)
484 #endif // U_HIDE_DRAFT_API (for UCAL_ORDINAL_MONTH)
485 
486 #endif // U_FORCE_HIDE_DEPRECATED_API
487 
497 };
498 
524 };
525 
528 
562 };
563 
565 typedef enum UCalendarMonths UCalendarMonths;
566 
574  UCAL_PM
575 };
576 
578 typedef enum UCalendarAMPMs UCalendarAMPMs;
579 
602 };
603 
606 
623 U_CAPI UEnumeration* U_EXPORT2
625  const int32_t* rawOffset, UErrorCode* ec);
626 
638 U_CAPI UEnumeration* U_EXPORT2
640 
657 U_CAPI UEnumeration* U_EXPORT2
658 ucal_openCountryTimeZones(const char* country, UErrorCode* ec);
659 
683 U_CAPI int32_t U_EXPORT2
684 ucal_getDefaultTimeZone(UChar* result, int32_t resultCapacity, UErrorCode* ec);
685 
695 U_CAPI void U_EXPORT2
697 
727 U_CAPI int32_t U_EXPORT2
728 ucal_getHostTimeZone(UChar *result, int32_t resultCapacity, UErrorCode *ec);
729 
746 U_CAPI int32_t U_EXPORT2
747 ucal_getDSTSavings(const UChar* zoneID, UErrorCode* ec);
748 
755 U_CAPI UDate U_EXPORT2
757 
781 U_CAPI UCalendar* U_EXPORT2
782 ucal_open(const UChar* zoneID,
783  int32_t len,
784  const char* locale,
785  UCalendarType type,
786  UErrorCode* status);
787 
794 U_CAPI void U_EXPORT2
796 
797 #if U_SHOW_CPLUSPLUS_API
798 
799 U_NAMESPACE_BEGIN
800 
811 
812 U_NAMESPACE_END
813 
814 #endif
815 
824 U_CAPI UCalendar* U_EXPORT2
826  UErrorCode* status);
827 
837 U_CAPI void U_EXPORT2
839  const UChar* zoneID,
840  int32_t len,
841  UErrorCode* status);
842 
853 U_CAPI int32_t U_EXPORT2
855  UChar *result,
856  int32_t resultLength,
857  UErrorCode *status);
858 
872 };
873 
876 
890 U_CAPI int32_t U_EXPORT2
893  const char* locale,
894  UChar* result,
895  int32_t resultLength,
896  UErrorCode* status);
897 
906 U_CAPI UBool U_EXPORT2
908  UErrorCode* status );
909 
930 U_CAPI void U_EXPORT2
932 
953 U_CAPI UDate U_EXPORT2
955 
988 };
989 
992 
1019 };
1022 
1034 U_CAPI int32_t U_EXPORT2
1036  UCalendarAttribute attr);
1037 
1049 U_CAPI void U_EXPORT2
1051  UCalendarAttribute attr,
1052  int32_t newValue);
1053 
1063 U_CAPI const char* U_EXPORT2
1064 ucal_getAvailable(int32_t localeIndex);
1065 
1074 U_CAPI int32_t U_EXPORT2
1076 
1088 U_CAPI UDate U_EXPORT2
1090  UErrorCode* status);
1091 
1103 U_CAPI void U_EXPORT2
1105  UDate dateTime,
1106  UErrorCode* status );
1107 
1122 U_CAPI void U_EXPORT2
1124  int32_t year,
1125  int32_t month,
1126  int32_t date,
1127  UErrorCode* status);
1128 
1146 U_CAPI void U_EXPORT2
1148  int32_t year,
1149  int32_t month,
1150  int32_t date,
1151  int32_t hour,
1152  int32_t minute,
1153  int32_t second,
1154  UErrorCode* status);
1155 
1165 U_CAPI UBool U_EXPORT2
1167  const UCalendar* cal2);
1168 
1187 U_CAPI void U_EXPORT2
1189  UCalendarDateFields field,
1190  int32_t amount,
1191  UErrorCode* status);
1192 
1217 U_CAPI void U_EXPORT2
1219  UCalendarDateFields field,
1220  int32_t amount,
1221  UErrorCode* status);
1222 
1239 U_CAPI int32_t U_EXPORT2
1240 ucal_get(const UCalendar* cal,
1241  UCalendarDateFields field,
1242  UErrorCode* status );
1243 
1259 U_CAPI void U_EXPORT2
1261  UCalendarDateFields field,
1262  int32_t value);
1263 
1279 U_CAPI UBool U_EXPORT2
1281  UCalendarDateFields field);
1282 
1297 U_CAPI void U_EXPORT2
1299  UCalendarDateFields field);
1300 
1311 U_CAPI void U_EXPORT2
1313 
1331 };
1332 
1335 
1350 U_CAPI int32_t U_EXPORT2
1352  UCalendarDateFields field,
1353  UCalendarLimitType type,
1354  UErrorCode* status);
1355 
1363 U_CAPI const char * U_EXPORT2
1365 
1372 U_CAPI const char * U_EXPORT2
1374 
1393 U_CAPI int32_t U_EXPORT2
1394 ucal_getCanonicalTimeZoneID(const UChar* id, int32_t len,
1395  UChar* result, int32_t resultCapacity, UBool *isSystemID, UErrorCode* status);
1403 U_CAPI const char * U_EXPORT2
1404 ucal_getType(const UCalendar *cal, UErrorCode* status);
1405 
1422 U_CAPI UEnumeration* U_EXPORT2
1424  const char* locale,
1425  UBool commonlyUsed,
1426  UErrorCode* status);
1427 
1428 
1455 };
1456 
1459 
1477 U_CAPI UCalendarWeekdayType U_EXPORT2
1479 
1495 U_CAPI int32_t U_EXPORT2
1497 
1508 U_CAPI UBool U_EXPORT2
1509 ucal_isWeekend(const UCalendar *cal, UDate date, UErrorCode *status);
1510 
1535 U_CAPI int32_t U_EXPORT2
1537  UDate target,
1538  UCalendarDateFields field,
1539  UErrorCode* status);
1540 
1570 };
1571 
1589 U_CAPI UBool U_EXPORT2
1591  UDate* transition, UErrorCode* status);
1592 
1617 U_CAPI int32_t U_EXPORT2
1618 ucal_getWindowsTimeZoneID(const UChar* id, int32_t len,
1619  UChar* winid, int32_t winidCapacity, UErrorCode* status);
1620 
1649 U_CAPI int32_t U_EXPORT2
1650 ucal_getTimeZoneIDForWindowsID(const UChar* winid, int32_t len, const char* region,
1651  UChar* id, int32_t idCapacity, UErrorCode* status);
1652 
1708 };
1738 U_CAPI void U_EXPORT2
1740  const UCalendar* cal,
1741  UTimeZoneLocalOption nonExistingTimeOpt,
1742  UTimeZoneLocalOption duplicatedTimeOpt,
1743  int32_t* rawOffset, int32_t* dstOffset, UErrorCode* status);
1744 
1745 #endif /* #if !UCONFIG_NO_FORMATTING */
1746 
1747 #endif
"Smart pointer" class, closes a UCalendar via ucal_close().
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:550
UCalendarDateFields
Possible fields in a UCalendar.
Definition: ucal.h:202
@ UCAL_HOUR_OF_DAY
Field number indicating the hour of the day.
Definition: ucal.h:351
@ UCAL_EXTENDED_YEAR
Year of this calendar system, encompassing all supra-year fields.
Definition: ucal.h:414
@ UCAL_ERA
Field number indicating the era, e.g., AD or BC in the Gregorian (Julian) calendar.
Definition: ucal.h:208
@ UCAL_ORDINAL_MONTH
Field number indicating the month.
Definition: ucal.h:469
@ UCAL_WEEK_OF_MONTH
Field number indicating the week number within the current month.
Definition: ucal.h:263
@ UCAL_YEAR
Field number indicating the year.
Definition: ucal.h:214
@ UCAL_DAY_OF_YEAR
Field number indicating the day number within the current year.
Definition: ucal.h:279
@ UCAL_YEAR_WOY
Field number indicating the extended year corresponding to the UCAL_WEEK_OF_YEAR field.
Definition: ucal.h:398
@ UCAL_MINUTE
Field number indicating the minute within the hour.
Definition: ucal.h:359
@ UCAL_JULIAN_DAY
Field number indicating the modified Julian day number.
Definition: ucal.h:426
@ UCAL_DATE
Field number indicating the day of the month.
Definition: ucal.h:272
@ UCAL_SECOND
Field number indicating the second within the minute.
Definition: ucal.h:367
@ UCAL_DAY_OF_WEEK_IN_MONTH
Field number indicating the ordinal number of the day of the week within the current month.
Definition: ucal.h:320
@ UCAL_MONTH
Field number indicating the month.
Definition: ucal.h:235
@ UCAL_ZONE_OFFSET
Field number indicating the raw offset from GMT in milliseconds.
Definition: ucal.h:382
@ UCAL_WEEK_OF_YEAR
Field number indicating the week number within the current year.
Definition: ucal.h:248
@ UCAL_MILLISECOND
Field number indicating the millisecond within the second.
Definition: ucal.h:375
@ UCAL_HOUR
Field number indicating the hour of the morning or afternoon.
Definition: ucal.h:342
@ UCAL_DAY_OF_MONTH
Field number indicating the day of the month.
Definition: ucal.h:496
@ UCAL_DAY_OF_WEEK
Field number indicating the day of the week.
Definition: ucal.h:295
@ UCAL_AM_PM
Field number indicating whether the HOUR is before or after noon.
Definition: ucal.h:331
@ UCAL_FIELD_COUNT
One more than the highest normal UCalendarDateFields value.
Definition: ucal.h:483
@ UCAL_IS_LEAP_MONTH
Whether or not the current month is a leap month (0 or 1).
Definition: ucal.h:443
@ UCAL_DST_OFFSET
Field number indicating the daylight savings offset in milliseconds.
Definition: ucal.h:389
@ UCAL_MILLISECONDS_IN_DAY
Ranges from 0 to 23:59:59.999 (regardless of DST).
Definition: ucal.h:437
@ UCAL_DOW_LOCAL
Field number indicating the localized day of week.
Definition: ucal.h:406
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.
UTimeZoneLocalOption
Options used by ucal_getTimeZoneOffsetFromLocal and BasicTimeZone::getOffsetFromLocal() to specify ho...
Definition: ucal.h:1659
@ UCAL_TZ_LOCAL_DAYLIGHT_LATTER
An input time is interpreted as daylight saving time when local time is switched to/from standard tim...
Definition: ucal.h:1707
@ UCAL_TZ_LOCAL_STANDARD_LATTER
An input time is interpreted as standard time when local time is switched to/from daylight saving tim...
Definition: ucal.h:1689
@ UCAL_TZ_LOCAL_STANDARD_FORMER
An input time is interpreted as standard time when local time is switched to/from daylight saving tim...
Definition: ucal.h:1680
@ UCAL_TZ_LOCAL_DAYLIGHT_FORMER
An input time is interpreted as daylight saving time when local time is switched to/from standard tim...
Definition: ucal.h:1698
@ UCAL_TZ_LOCAL_LATTER
An input time is always interpreted as local time after a time zone transition.
Definition: ucal.h:1671
@ UCAL_TZ_LOCAL_FORMER
An input time is always interpreted as local time before a time zone transition.
Definition: ucal.h:1665
U_CAPI UEnumeration * ucal_openTimeZones(UErrorCode *ec)
Create an enumeration over all time zones.
U_CAPI UDate ucal_getGregorianChange(const UCalendar *cal, UErrorCode *pErrorCode)
Gets the Gregorian Calendar change date.
USystemTimeZoneType
System time zone type constants used by filtering zones in ucal_openTimeZoneIDEnumeration.
Definition: ucal.h:586
@ UCAL_ZONE_TYPE_CANONICAL
Canonical system zones.
Definition: ucal.h:596
@ UCAL_ZONE_TYPE_ANY
Any system zones.
Definition: ucal.h:591
@ UCAL_ZONE_TYPE_CANONICAL_LOCATION
Canonical system zones associated with actual locations.
Definition: ucal.h:601
U_CAPI int32_t ucal_getWeekendTransition(const UCalendar *cal, UCalendarDaysOfWeek dayOfWeek, UErrorCode *status)
Returns the time during the day at which the weekend begins or ends in this calendar system.
UCalendarAttribute
Types of UCalendar attributes.
Definition: ucal.h:960
@ UCAL_MINIMAL_DAYS_IN_FIRST_WEEK
Minimum number of days in first week.
Definition: ucal.h:975
@ UCAL_REPEATED_WALL_TIME
The behavior for handling wall time repeating multiple times at negative time zone offset transitions...
Definition: ucal.h:981
@ UCAL_FIRST_DAY_OF_WEEK
First day of week.
Definition: ucal.h:970
@ UCAL_SKIPPED_WALL_TIME
The behavior for handling skipped wall time at positive time zone offset transitions.
Definition: ucal.h:987
@ UCAL_LENIENT
Lenient parsing.
Definition: ucal.h:965
U_CAPI void ucal_setDate(UCalendar *cal, int32_t year, int32_t month, int32_t date, UErrorCode *status)
Set a UCalendar's current date.
U_CAPI void ucal_setGregorianChange(UCalendar *cal, UDate date, UErrorCode *pErrorCode)
Sets the GregorianCalendar change date.
U_CAPI const char * ucal_getAvailable(int32_t localeIndex)
Get a locale for which calendars are available.
U_CAPI UEnumeration * ucal_getKeywordValuesForLocale(const char *key, const char *locale, UBool commonlyUsed, UErrorCode *status)
Given a key and a locale, returns an array of string values in a preferred order that would make a di...
U_CAPI UBool ucal_isWeekend(const UCalendar *cal, UDate date, UErrorCode *status)
Returns true if the given UDate is in the weekend in this calendar system.
U_CAPI void ucal_close(UCalendar *cal)
Close a UCalendar.
UCalendarWallTimeOption
Options for handling ambiguous wall time at time zone offset transitions.
Definition: ucal.h:998
@ UCAL_WALLTIME_NEXT_VALID
An ambiguous wall time to be interpreted as the next valid wall time.
Definition: ucal.h:1018
@ UCAL_WALLTIME_LAST
An ambiguous wall time to be interpreted as the latest.
Definition: ucal.h:1005
@ UCAL_WALLTIME_FIRST
An ambiguous wall time to be interpreted as the earliest.
Definition: ucal.h:1012
U_CAPI UCalendar * ucal_open(const UChar *zoneID, int32_t len, const char *locale, UCalendarType type, UErrorCode *status)
Open a UCalendar.
U_CAPI void ucal_clearField(UCalendar *cal, UCalendarDateFields field)
Clear a field in a UCalendar.
U_CAPI UCalendar * ucal_clone(const UCalendar *cal, UErrorCode *status)
Open a copy of a UCalendar.
U_CAPI int32_t ucal_getLimit(const UCalendar *cal, UCalendarDateFields field, UCalendarLimitType type, UErrorCode *status)
Determine a limit for a field in a UCalendar.
U_CAPI UBool ucal_inDaylightTime(const UCalendar *cal, UErrorCode *status)
Determine if a UCalendar is currently in daylight savings time.
UCalendarWeekdayType
Weekday types, as returned by ucal_getDayOfWeekType().
Definition: ucal.h:1432
@ UCAL_WEEKDAY
Designates a full weekday (no part of the day is included in the weekend).
Definition: ucal.h:1437
@ UCAL_WEEKEND_CEASE
Designates a day that starts as the weekend and transitions to a weekday.
Definition: ucal.h:1454
@ UCAL_WEEKEND
Designates a full weekend day (the entire day is included in the weekend).
Definition: ucal.h:1442
@ UCAL_WEEKEND_ONSET
Designates a day that starts as a weekday and transitions to the weekend.
Definition: ucal.h:1448
U_CAPI UCalendarWeekdayType ucal_getDayOfWeekType(const UCalendar *cal, UCalendarDaysOfWeek dayOfWeek, UErrorCode *status)
Returns whether the given day of the week is a weekday, a weekend day, or a day that transitions from...
U_CAPI void ucal_set(UCalendar *cal, UCalendarDateFields field, int32_t value)
Set the value of a field in a UCalendar.
UCalendarDaysOfWeek
Useful constant for days of week.
Definition: ucal.h:509
@ UCAL_WEDNESDAY
Wednesday.
Definition: ucal.h:517
@ UCAL_SATURDAY
Saturday.
Definition: ucal.h:523
@ UCAL_THURSDAY
Thursday.
Definition: ucal.h:519
@ UCAL_MONDAY
Monday.
Definition: ucal.h:513
@ UCAL_SUNDAY
Sunday.
Definition: ucal.h:511
@ UCAL_FRIDAY
Friday.
Definition: ucal.h:521
@ UCAL_TUESDAY
Tuesday.
Definition: ucal.h:515
U_CAPI UEnumeration * ucal_openTimeZoneIDEnumeration(USystemTimeZoneType zoneType, const char *region, const int32_t *rawOffset, UErrorCode *ec)
Create an enumeration over system time zone IDs with the given filter conditions.
U_CAPI int32_t ucal_getAttribute(const UCalendar *cal, UCalendarAttribute attr)
Get a numeric attribute associated with a UCalendar.
U_CAPI int32_t ucal_get(const UCalendar *cal, UCalendarDateFields field, UErrorCode *status)
Get the current value of a field from a UCalendar.
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.
UCalendarLimitType
Possible limit values for a UCalendar.
Definition: ucal.h:1318
@ UCAL_ACTUAL_MAXIMUM
Actual maximum value.
Definition: ucal.h:1330
@ UCAL_ACTUAL_MINIMUM
Actual minimum value.
Definition: ucal.h:1328
@ UCAL_GREATEST_MINIMUM
Greatest minimum value.
Definition: ucal.h:1324
@ UCAL_MINIMUM
Minimum value.
Definition: ucal.h:1320
@ UCAL_MAXIMUM
Maximum value.
Definition: ucal.h:1322
@ UCAL_LEAST_MAXIMUM
Least maximum value.
Definition: ucal.h:1326
UCalendarAMPMs
Possible AM/PM values in a UCalendar.
Definition: ucal.h:570
@ UCAL_AM
AM.
Definition: ucal.h:572
@ UCAL_PM
PM.
Definition: ucal.h:574
U_CAPI UBool ucal_getTimeZoneTransitionDate(const UCalendar *cal, UTimeZoneTransitionType type, UDate *transition, UErrorCode *status)
Get the UDate for the next/previous time zone transition relative to the calendar's current date,...
UTimeZoneTransitionType
Time zone transition types for ucal_getTimeZoneTransitionDate.
Definition: ucal.h:1545
@ UCAL_TZ_TRANSITION_PREVIOUS
Get the previous transition before the current date, i.e.
Definition: ucal.h:1563
@ UCAL_TZ_TRANSITION_PREVIOUS_INCLUSIVE
Get the previous transition on or before the current date, i.e.
Definition: ucal.h:1569
@ UCAL_TZ_TRANSITION_NEXT
Get the next transition after the current date, i.e.
Definition: ucal.h:1551
@ UCAL_TZ_TRANSITION_NEXT_INCLUSIVE
Get the next transition on or after the current date, i.e.
Definition: ucal.h:1557
UCalendarType
Possible types of UCalendars.
Definition: ucal.h:177
@ UCAL_GREGORIAN
Unambiguously designates the Gregorian calendar for the locale.
Definition: ucal.h:193
@ UCAL_DEFAULT
A better name for UCAL_TRADITIONAL.
Definition: ucal.h:188
@ UCAL_TRADITIONAL
Despite the name, UCAL_TRADITIONAL designates the locale's default calendar, which may be the Gregori...
Definition: ucal.h:183
U_CAPI void ucal_clear(UCalendar *calendar)
Clear all fields in a UCalendar.
U_CAPI void ucal_setTimeZone(UCalendar *cal, const UChar *zoneID, int32_t len, UErrorCode *status)
Set the TimeZone used by a UCalendar.
U_CAPI 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...
U_CAPI void ucal_getTimeZoneOffsetFromLocal(const UCalendar *cal, UTimeZoneLocalOption nonExistingTimeOpt, UTimeZoneLocalOption duplicatedTimeOpt, int32_t *rawOffset, int32_t *dstOffset, UErrorCode *status)
Returns the time zone raw and GMT offset for the given moment in time.
U_CAPI void ucal_setDefaultTimeZone(const UChar *zoneID, UErrorCode *ec)
Set the default time zone.
U_CAPI int32_t ucal_getTimeZoneID(const UCalendar *cal, UChar *result, int32_t resultLength, UErrorCode *status)
Get the ID of the UCalendar's time zone.
U_CAPI int32_t ucal_getHostTimeZone(UChar *result, int32_t resultCapacity, UErrorCode *ec)
Return the current host time zone.
U_CAPI int32_t ucal_getDefaultTimeZone(UChar *result, int32_t resultCapacity, UErrorCode *ec)
Return the default time zone.
U_CAPI UDate ucal_getNow(void)
Get the current date and time.
U_CAPI UBool ucal_equivalentTo(const UCalendar *cal1, const UCalendar *cal2)
Returns true if two UCalendars are equivalent.
U_CAPI const char * ucal_getLocaleByType(const UCalendar *cal, ULocDataLocaleType type, UErrorCode *status)
Get the locale for this calendar object.
U_CAPI int32_t ucal_getCanonicalTimeZoneID(const UChar *id, int32_t len, UChar *result, int32_t resultCapacity, UBool *isSystemID, UErrorCode *status)
Returns the canonical system timezone ID or the normalized custom time zone ID for the given time zon...
U_CAPI const char * ucal_getTZDataVersion(UErrorCode *status)
Returns the timezone data version currently used by ICU.
U_CAPI int32_t ucal_getTimeZoneIDForWindowsID(const UChar *winid, int32_t len, const char *region, UChar *id, int32_t idCapacity, UErrorCode *status)
Converts a Windows time zone ID to an equivalent system time zone ID for a region.
U_CAPI int32_t ucal_getFieldDifference(UCalendar *cal, UDate target, UCalendarDateFields field, UErrorCode *status)
Return the difference between the target time and the time this calendar object is currently set to.
U_CAPI void ucal_setMillis(UCalendar *cal, UDate dateTime, UErrorCode *status)
Set a UCalendar's current time in millis.
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.
U_CAPI const char * ucal_getType(const UCalendar *cal, UErrorCode *status)
Get the resource keyword value string designating the calendar type for the UCalendar.
U_CAPI int32_t ucal_getWindowsTimeZoneID(const UChar *id, int32_t len, UChar *winid, int32_t winidCapacity, UErrorCode *status)
Converts a system time zone ID to an equivalent Windows time zone ID.
U_CAPI UDate ucal_getMillis(const UCalendar *cal, UErrorCode *status)
Get a UCalendar's current time in millis.
U_CAPI void ucal_setAttribute(UCalendar *cal, UCalendarAttribute attr, int32_t newValue)
Set a numeric attribute associated with a UCalendar.
U_CAPI UEnumeration * ucal_openCountryTimeZones(const char *country, UErrorCode *ec)
Create an enumeration over all time zones associated with the given country.
UCalendarDisplayNameType
Possible formats for a UCalendar's display name.
Definition: ucal.h:863
@ UCAL_STANDARD
Standard display name.
Definition: ucal.h:865
@ UCAL_SHORT_DST
Short daylight savings display name.
Definition: ucal.h:871
@ UCAL_SHORT_STANDARD
Short standard display name.
Definition: ucal.h:867
@ UCAL_DST
Daylight savings display name.
Definition: ucal.h:869
UCalendarMonths
Possible months in a UCalendar.
Definition: ucal.h:532
@ UCAL_DECEMBER
December.
Definition: ucal.h:556
@ UCAL_MAY
May.
Definition: ucal.h:542
@ UCAL_UNDECIMBER
Value of the UCAL_MONTH field indicating the thirteenth month of the year.
Definition: ucal.h:561
@ UCAL_APRIL
April.
Definition: ucal.h:540
@ UCAL_NOVEMBER
November.
Definition: ucal.h:554
@ UCAL_JUNE
June.
Definition: ucal.h:544
@ UCAL_AUGUST
August.
Definition: ucal.h:548
@ UCAL_JULY
July.
Definition: ucal.h:546
@ UCAL_SEPTEMBER
September.
Definition: ucal.h:550
@ UCAL_JANUARY
January.
Definition: ucal.h:534
@ UCAL_FEBRUARY
February.
Definition: ucal.h:536
@ UCAL_MARCH
March.
Definition: ucal.h:538
@ UCAL_OCTOBER
October.
Definition: ucal.h:552
U_CAPI UBool ucal_isSet(const UCalendar *cal, UCalendarDateFields field)
Determine if a field in a UCalendar is set.
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.
void * UCalendar
A calendar.
Definition: ucal.h:172
U_CAPI int32_t ucal_countAvailable(void)
Determine how many locales have calendars available.
C API: String Enumeration.
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition: uenum.h:44
C API: Locale ID functionality similar to C++ class Locale.
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested,...
Definition: uloc.h:338
int8_t UBool
The ICU boolean type, a signed-byte integer.
Definition: umachine.h:247
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:386
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
double UDate
Date and Time data type.
Definition: utypes.h:203