ICU 62.1  62.1
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 #include "unicode/localpointer.h"
17 
18 #if !UCONFIG_NO_FORMATTING
19 
149 #define UCAL_UNKNOWN_ZONE_ID "Etc/Unknown"
150 
155 typedef void* UCalendar;
156 
177 };
178 
181 
192 
198 
219 
232 
247 
256 
263 
279 
304 
315 
326 
335 
343 
351 
359 
366 
373 
382 
390 
398 
410 
421 
427 
428  /* Do not conditionalize the following with #ifndef U_HIDE_DEPRECATED_API,
429  * it is needed for layout of Calendar, DateFormat, and other objects */
435 
445 };
446 
472 };
473 
476 
510 };
511 
514 
523 };
524 
527 
550 };
551 
554 
571 U_STABLE UEnumeration* U_EXPORT2
572 ucal_openTimeZoneIDEnumeration(USystemTimeZoneType zoneType, const char* region,
573  const int32_t* rawOffset, UErrorCode* ec);
574 
586 U_STABLE UEnumeration* U_EXPORT2
588 
605 U_STABLE UEnumeration* U_EXPORT2
606 ucal_openCountryTimeZones(const char* country, UErrorCode* ec);
607 
624 U_STABLE int32_t U_EXPORT2
625 ucal_getDefaultTimeZone(UChar* result, int32_t resultCapacity, UErrorCode* ec);
626 
636 U_STABLE void U_EXPORT2
637 ucal_setDefaultTimeZone(const UChar* zoneID, UErrorCode* ec);
638 
655 U_STABLE int32_t U_EXPORT2
656 ucal_getDSTSavings(const UChar* zoneID, UErrorCode* ec);
657 
664 U_STABLE UDate U_EXPORT2
665 ucal_getNow(void);
666 
690 U_STABLE UCalendar* U_EXPORT2
691 ucal_open(const UChar* zoneID,
692  int32_t len,
693  const char* locale,
694  UCalendarType type,
695  UErrorCode* status);
696 
703 U_STABLE void U_EXPORT2
704 ucal_close(UCalendar *cal);
705 
706 #if U_SHOW_CPLUSPLUS_API
707 
709 
720 
722 
723 #endif
724 
733 U_STABLE UCalendar* U_EXPORT2
734 ucal_clone(const UCalendar* cal,
735  UErrorCode* status);
736 
746 U_STABLE void U_EXPORT2
748  const UChar* zoneID,
749  int32_t len,
750  UErrorCode* status);
751 
762 U_STABLE int32_t U_EXPORT2
763 ucal_getTimeZoneID(const UCalendar *cal,
764  UChar *result,
765  int32_t resultLength,
766  UErrorCode *status);
767 
781 };
782 
785 
799 U_STABLE int32_t U_EXPORT2
802  const char* locale,
803  UChar* result,
804  int32_t resultLength,
805  UErrorCode* status);
806 
815 U_STABLE UBool U_EXPORT2
816 ucal_inDaylightTime(const UCalendar* cal,
817  UErrorCode* status );
818 
839 U_STABLE void U_EXPORT2
840 ucal_setGregorianChange(UCalendar *cal, UDate date, UErrorCode *pErrorCode);
841 
862 U_STABLE UDate U_EXPORT2
863 ucal_getGregorianChange(const UCalendar *cal, UErrorCode *pErrorCode);
864 
897 };
898 
901 
928 };
931 
943 U_STABLE int32_t U_EXPORT2
944 ucal_getAttribute(const UCalendar* cal,
945  UCalendarAttribute attr);
946 
958 U_STABLE void U_EXPORT2
960  UCalendarAttribute attr,
961  int32_t newValue);
962 
972 U_STABLE const char* U_EXPORT2
973 ucal_getAvailable(int32_t localeIndex);
974 
983 U_STABLE int32_t U_EXPORT2
984 ucal_countAvailable(void);
985 
997 U_STABLE UDate U_EXPORT2
998 ucal_getMillis(const UCalendar* cal,
999  UErrorCode* status);
1000 
1012 U_STABLE void U_EXPORT2
1014  UDate dateTime,
1015  UErrorCode* status );
1016 
1031 U_STABLE void U_EXPORT2
1032 ucal_setDate(UCalendar* cal,
1033  int32_t year,
1034  int32_t month,
1035  int32_t date,
1036  UErrorCode* status);
1037 
1055 U_STABLE void U_EXPORT2
1057  int32_t year,
1058  int32_t month,
1059  int32_t date,
1060  int32_t hour,
1061  int32_t minute,
1062  int32_t second,
1063  UErrorCode* status);
1064 
1074 U_STABLE UBool U_EXPORT2
1075 ucal_equivalentTo(const UCalendar* cal1,
1076  const UCalendar* cal2);
1077 
1096 U_STABLE void U_EXPORT2
1097 ucal_add(UCalendar* cal,
1098  UCalendarDateFields field,
1099  int32_t amount,
1100  UErrorCode* status);
1101 
1126 U_STABLE void U_EXPORT2
1127 ucal_roll(UCalendar* cal,
1128  UCalendarDateFields field,
1129  int32_t amount,
1130  UErrorCode* status);
1131 
1148 U_STABLE int32_t U_EXPORT2
1149 ucal_get(const UCalendar* cal,
1150  UCalendarDateFields field,
1151  UErrorCode* status );
1152 
1168 U_STABLE void U_EXPORT2
1169 ucal_set(UCalendar* cal,
1170  UCalendarDateFields field,
1171  int32_t value);
1172 
1188 U_STABLE UBool U_EXPORT2
1189 ucal_isSet(const UCalendar* cal,
1190  UCalendarDateFields field);
1191 
1206 U_STABLE void U_EXPORT2
1208  UCalendarDateFields field);
1209 
1220 U_STABLE void U_EXPORT2
1221 ucal_clear(UCalendar* calendar);
1222 
1240 };
1241 
1244 
1259 U_STABLE int32_t U_EXPORT2
1260 ucal_getLimit(const UCalendar* cal,
1261  UCalendarDateFields field,
1262  UCalendarLimitType type,
1263  UErrorCode* status);
1264 
1272 U_STABLE const char * U_EXPORT2
1273 ucal_getLocaleByType(const UCalendar *cal, ULocDataLocaleType type, UErrorCode* status);
1274 
1281 U_STABLE const char * U_EXPORT2
1283 
1302 U_STABLE int32_t U_EXPORT2
1303 ucal_getCanonicalTimeZoneID(const UChar* id, int32_t len,
1304  UChar* result, int32_t resultCapacity, UBool *isSystemID, UErrorCode* status);
1312 U_STABLE const char * U_EXPORT2
1313 ucal_getType(const UCalendar *cal, UErrorCode* status);
1314 
1331 U_STABLE UEnumeration* U_EXPORT2
1332 ucal_getKeywordValuesForLocale(const char* key,
1333  const char* locale,
1334  UBool commonlyUsed,
1335  UErrorCode* status);
1336 
1337 
1364 };
1365 
1368 
1387 ucal_getDayOfWeekType(const UCalendar *cal, UCalendarDaysOfWeek dayOfWeek, UErrorCode* status);
1388 
1404 U_STABLE int32_t U_EXPORT2
1405 ucal_getWeekendTransition(const UCalendar *cal, UCalendarDaysOfWeek dayOfWeek, UErrorCode *status);
1406 
1417 U_STABLE UBool U_EXPORT2
1418 ucal_isWeekend(const UCalendar *cal, UDate date, UErrorCode *status);
1419 
1444 U_STABLE int32_t U_EXPORT2
1446  UDate target,
1447  UCalendarDateFields field,
1448  UErrorCode* status);
1449 
1479 };
1480 
1498 U_STABLE UBool U_EXPORT2
1500  UDate* transition, UErrorCode* status);
1501 
1526 U_STABLE int32_t U_EXPORT2
1527 ucal_getWindowsTimeZoneID(const UChar* id, int32_t len,
1528  UChar* winid, int32_t winidCapacity, UErrorCode* status);
1529 
1558 U_STABLE int32_t U_EXPORT2
1559 ucal_getTimeZoneIDForWindowsID(const UChar* winid, int32_t len, const char* region,
1560  UChar* id, int32_t idCapacity, UErrorCode* status);
1561 
1562 #endif /* #if !UCONFIG_NO_FORMATTING */
1563 
1564 #endif
ucal_getAvailable
const char * ucal_getAvailable(int32_t localeIndex)
Get a locale for which calendars are available.
ucal_setAttribute
void ucal_setAttribute(UCalendar *cal, UCalendarAttribute attr, int32_t newValue)
Set a numeric attribute associated with a UCalendar.
UCAL_WEEKEND_ONSET
@ UCAL_WEEKEND_ONSET
Designates a day that starts as a weekday and transitions to the weekend.
Definition: ucal.h:1357
UCAL_DST_OFFSET
@ UCAL_DST_OFFSET
Field number indicating the daylight savings offset in milliseconds.
Definition: ucal.h:372
ucal_getDayOfWeekType
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...
UCAL_GREGORIAN
@ UCAL_GREGORIAN
Unambiguously designates the Gregorian calendar for the locale.
Definition: ucal.h:176
ucal_roll
void ucal_roll(UCalendar *cal, UCalendarDateFields field, int32_t amount, UErrorCode *status)
Add a specified signed amount to a particular field in a UCalendar.
UCAL_TUESDAY
@ UCAL_TUESDAY
Tuesday.
Definition: ucal.h:463
UCalendarAMPMs
UCalendarAMPMs
Possible AM/PM values in a UCalendar.
Definition: ucal.h:518
ucal_setMillis
void ucal_setMillis(UCalendar *cal, UDate dateTime, UErrorCode *status)
Set a UCalendar's current time in millis.
ucal_getNow
UDate ucal_getNow(void)
Get the current date and time.
ucal_getLocaleByType
const char * ucal_getLocaleByType(const UCalendar *cal, ULocDataLocaleType type, UErrorCode *status)
Get the locale for this calendar object.
UCAL_JANUARY
@ UCAL_JANUARY
January.
Definition: ucal.h:482
ucal_getWindowsTimeZoneID
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.
ucal_isWeekend
UBool ucal_isWeekend(const UCalendar *cal, UDate date, UErrorCode *status)
Returns TRUE if the given UDate is in the weekend in this calendar system.
UCAL_WALLTIME_LAST
@ UCAL_WALLTIME_LAST
An ambiguous wall time to be interpreted as the latest.
Definition: ucal.h:914
ucal_setDate
void ucal_setDate(UCalendar *cal, int32_t year, int32_t month, int32_t date, UErrorCode *status)
Set a UCalendar's current date.
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
UCalendarWallTimeOption
UCalendarWallTimeOption
Options for handling ambiguous wall time at time zone offset transitions.
Definition: ucal.h:907
ucal_getDefaultTimeZone
int32_t ucal_getDefaultTimeZone(UChar *result, int32_t resultCapacity, UErrorCode *ec)
Return the default time zone.
ucal_getGregorianChange
UDate ucal_getGregorianChange(const UCalendar *cal, UErrorCode *pErrorCode)
Gets the Gregorian Calendar change date.
UCAL_MONTH
@ UCAL_MONTH
Field number indicating the month.
Definition: ucal.h:218
UBool
int8_t UBool
The ICU boolean type.
Definition: umachine.h:236
UCAL_WEDNESDAY
@ UCAL_WEDNESDAY
Wednesday.
Definition: ucal.h:465
UCAL_ZONE_OFFSET
@ UCAL_ZONE_OFFSET
Field number indicating the raw offset from GMT in milliseconds.
Definition: ucal.h:365
ucal_setDefaultTimeZone
void ucal_setDefaultTimeZone(const UChar *zoneID, UErrorCode *ec)
Set the default time zone.
ULocDataLocaleType
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested,...
Definition: uloc.h:338
UCAL_DAY_OF_WEEK_IN_MONTH
@ 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:303
UCalendarLimitType
UCalendarLimitType
Possible limit values for a UCalendar.
Definition: ucal.h:1227
ucal_getDSTSavings
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...
UCAL_NOVEMBER
@ UCAL_NOVEMBER
November.
Definition: ucal.h:502
UCAL_MAY
@ UCAL_MAY
May.
Definition: ucal.h:490
UCAL_JULIAN_DAY
@ UCAL_JULIAN_DAY
Field number indicating the modified Julian day number.
Definition: ucal.h:409
ucal_getMillis
UDate ucal_getMillis(const UCalendar *cal, UErrorCode *status)
Get a UCalendar's current time in millis.
UCAL_SUNDAY
@ UCAL_SUNDAY
Sunday.
Definition: ucal.h:459
ucal_clone
UCalendar * ucal_clone(const UCalendar *cal, UErrorCode *status)
Open a copy of a UCalendar.
ucal_close
void ucal_close(UCalendar *cal)
Close a UCalendar.
UCAL_FEBRUARY
@ UCAL_FEBRUARY
February.
Definition: ucal.h:484
UCAL_DAY_OF_YEAR
@ UCAL_DAY_OF_YEAR
Field number indicating the day number within the current year.
Definition: ucal.h:262
UCAL_SHORT_STANDARD
@ UCAL_SHORT_STANDARD
Short standard display name.
Definition: ucal.h:776
ucal_isSet
UBool ucal_isSet(const UCalendar *cal, UCalendarDateFields field)
Determine if a field in a UCalendar is set.
UCAL_JUNE
@ UCAL_JUNE
June.
Definition: ucal.h:492
ucal_getAttribute
int32_t ucal_getAttribute(const UCalendar *cal, UCalendarAttribute attr)
Get a numeric attribute associated with a UCalendar.
UCAL_LEAST_MAXIMUM
@ UCAL_LEAST_MAXIMUM
Leaest maximum value.
Definition: ucal.h:1235
UCAL_JULY
@ UCAL_JULY
July.
Definition: ucal.h:494
UCAL_MINIMAL_DAYS_IN_FIRST_WEEK
@ UCAL_MINIMAL_DAYS_IN_FIRST_WEEK
Minimum number of days in first week.
Definition: ucal.h:884
ucal_getTimeZoneIDForWindowsID
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.
UCAL_WEEK_OF_MONTH
@ UCAL_WEEK_OF_MONTH
Field number indicating the week number within the current month.
Definition: ucal.h:246
uloc.h
C API: Locale.
UCAL_ZONE_TYPE_CANONICAL_LOCATION
@ UCAL_ZONE_TYPE_CANONICAL_LOCATION
Canonical system zones associated with actual locations.
Definition: ucal.h:549
ucal_setGregorianChange
void ucal_setGregorianChange(UCalendar *cal, UDate date, UErrorCode *pErrorCode)
Sets the GregorianCalendar change date.
ucal_getTZDataVersion
const char * ucal_getTZDataVersion(UErrorCode *status)
Returns the timezone data version currently used by ICU.
ucal_add
void ucal_add(UCalendar *cal, UCalendarDateFields field, int32_t amount, UErrorCode *status)
Add a specified signed amount to a particular field in a UCalendar.
UCAL_MILLISECOND
@ UCAL_MILLISECOND
Field number indicating the millisecond within the second.
Definition: ucal.h:358
ucal_getWeekendTransition
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.
UCAL_EXTENDED_YEAR
@ UCAL_EXTENDED_YEAR
Year of this calendar system, encompassing all supra-year fields.
Definition: ucal.h:397
UCAL_STANDARD
@ UCAL_STANDARD
Standard display name.
Definition: ucal.h:774
UCAL_TZ_TRANSITION_NEXT_INCLUSIVE
@ UCAL_TZ_TRANSITION_NEXT_INCLUSIVE
Get the next transition on or after the current date, i.e.
Definition: ucal.h:1466
UCAL_FRIDAY
@ UCAL_FRIDAY
Friday.
Definition: ucal.h:469
UCAL_MONDAY
@ UCAL_MONDAY
Monday.
Definition: ucal.h:461
UCAL_WEEKEND_CEASE
@ UCAL_WEEKEND_CEASE
Designates a day that starts as the weekend and transitions to a weekday.
Definition: ucal.h:1363
UCAL_MINUTE
@ UCAL_MINUTE
Field number indicating the minute within the hour.
Definition: ucal.h:342
UErrorCode
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
Definition: utypes.h:396
UCAL_MINIMUM
@ UCAL_MINIMUM
Minimum value.
Definition: ucal.h:1229
UCAL_ACTUAL_MAXIMUM
@ UCAL_ACTUAL_MAXIMUM
Actual maximum value.
Definition: ucal.h:1239
ucal_setDateTime
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.
ucal_inDaylightTime
UBool ucal_inDaylightTime(const UCalendar *cal, UErrorCode *status)
Determine if a UCalendar is currently in daylight savings time.
ucal_get
int32_t ucal_get(const UCalendar *cal, UCalendarDateFields field, UErrorCode *status)
Get the current value of a field from a UCalendar.
ucal_getTimeZoneDisplayName
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.
ucal_set
void ucal_set(UCalendar *cal, UCalendarDateFields field, int32_t value)
Set the value of a field in a UCalendar.
UCAL_DAY_OF_WEEK
@ UCAL_DAY_OF_WEEK
Field number indicating the day of the week.
Definition: ucal.h:278
UCAL_YEAR_WOY
@ UCAL_YEAR_WOY
Field number indicating the extended year corresponding to the UCAL_WEEK_OF_YEAR field.
Definition: ucal.h:381
UCAL_IS_LEAP_MONTH
@ UCAL_IS_LEAP_MONTH
Whether or not the current month is a leap month (0 or 1).
Definition: ucal.h:426
UCAL_DAY_OF_MONTH
@ UCAL_DAY_OF_MONTH
Field number indicating the day of the month.
Definition: ucal.h:444
UCAL_ZONE_TYPE_CANONICAL
@ UCAL_ZONE_TYPE_CANONICAL
Canonical system zones.
Definition: ucal.h:544
UCAL_YEAR
@ UCAL_YEAR
Field number indicating the year.
Definition: ucal.h:197
UTimeZoneTransitionType
UTimeZoneTransitionType
Time zone transition types for ucal_getTimeZoneTransitionDate.
Definition: ucal.h:1454
UCAL_WEEKEND
@ UCAL_WEEKEND
Designates a full weekend day (the entire day is included in the weekend).
Definition: ucal.h:1351
ucal_equivalentTo
UBool ucal_equivalentTo(const UCalendar *cal1, const UCalendar *cal2)
Returns TRUE if two UCalendars are equivalent.
UCAL_AM_PM
@ UCAL_AM_PM
Field number indicating whether the HOUR is before or after noon.
Definition: ucal.h:314
UCalendarWeekdayType
UCalendarWeekdayType
Weekday types, as returned by ucal_getDayOfWeekType().
Definition: ucal.h:1341
UCAL_SATURDAY
@ UCAL_SATURDAY
Saturday.
Definition: ucal.h:471
UCAL_MARCH
@ UCAL_MARCH
March.
Definition: ucal.h:486
LocalUCalendarPointer
ucal_getType
const char * ucal_getType(const UCalendar *cal, UErrorCode *status)
Get the resource keyword value string designating the calendar type for the UCalendar.
UCAL_OCTOBER
@ UCAL_OCTOBER
October.
Definition: ucal.h:500
UCAL_TZ_TRANSITION_PREVIOUS
@ UCAL_TZ_TRANSITION_PREVIOUS
Get the previous transition before the current date, i.e.
Definition: ucal.h:1472
UCAL_SHORT_DST
@ UCAL_SHORT_DST
Short daylight savings display name.
Definition: ucal.h:780
UCAL_SECOND
@ UCAL_SECOND
Field number indicating the second within the minute.
Definition: ucal.h:350
UCAL_FIELD_COUNT
@ UCAL_FIELD_COUNT
One more than the highest normal UCalendarDateFields value.
Definition: ucal.h:434
UCAL_WALLTIME_FIRST
@ UCAL_WALLTIME_FIRST
An ambiguous wall time to be interpreted as the earliest.
Definition: ucal.h:921
U_DEFINE_LOCAL_OPEN_POINTER
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
Definition: localpointer.h:487
UCalendarAttribute
UCalendarAttribute
Types of UCalendar attributes.
Definition: ucal.h:869
UCAL_TRADITIONAL
@ UCAL_TRADITIONAL
Despite the name, UCAL_TRADITIONAL designates the locale's default calendar, which may be the Gregori...
Definition: ucal.h:166
ucal_setTimeZone
void ucal_setTimeZone(UCalendar *cal, const UChar *zoneID, int32_t len, UErrorCode *status)
Set the TimeZone used by a UCalendar.
ucal_getCanonicalTimeZoneID
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...
UCAL_DECEMBER
@ UCAL_DECEMBER
December.
Definition: ucal.h:504
ucal_openTimeZoneIDEnumeration
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.
UCAL_FIRST_DAY_OF_WEEK
@ UCAL_FIRST_DAY_OF_WEEK
First day of week.
Definition: ucal.h:879
UCAL_REPEATED_WALL_TIME
@ UCAL_REPEATED_WALL_TIME
The behavior for handling wall time repeating multiple times at negative time zone offset transitions...
Definition: ucal.h:890
UCalendarDaysOfWeek
UCalendarDaysOfWeek
Useful constant for days of week.
Definition: ucal.h:457
UCAL_HOUR
@ UCAL_HOUR
Field number indicating the hour of the morning or afternoon.
Definition: ucal.h:325
UCAL_GREATEST_MINIMUM
@ UCAL_GREATEST_MINIMUM
Greatest minimum value.
Definition: ucal.h:1233
ucal_getTimeZoneID
int32_t ucal_getTimeZoneID(const UCalendar *cal, UChar *result, int32_t resultLength, UErrorCode *status)
Get the ID of the UCalendar's time zone.
ucal_countAvailable
int32_t ucal_countAvailable(void)
Determine how many locales have calendars available.
localpointer.h
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
UCalendar
void * UCalendar
A calendar.
Definition: ucal.h:155
ucal_open
UCalendar * ucal_open(const UChar *zoneID, int32_t len, const char *locale, UCalendarType type, UErrorCode *status)
Open a UCalendar.
UCAL_DST
@ UCAL_DST
Daylight savings display name.
Definition: ucal.h:778
UCalendarDisplayNameType
UCalendarDisplayNameType
Possible formats for a UCalendar's display name.
Definition: ucal.h:772
UCAL_PM
@ UCAL_PM
PM.
Definition: ucal.h:522
ucal_getFieldDifference
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.
UDate
double UDate
Date and Time data type.
Definition: utypes.h:203
UCAL_WEEK_OF_YEAR
@ UCAL_WEEK_OF_YEAR
Field number indicating the week number within the current year.
Definition: ucal.h:231
ucal_getKeywordValuesForLocale
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...
UCAL_APRIL
@ UCAL_APRIL
April.
Definition: ucal.h:488
UCAL_DEFAULT
@ UCAL_DEFAULT
A better name for UCAL_TRADITIONAL.
Definition: ucal.h:171
UCalendarMonths
UCalendarMonths
Possible months in a UCalendar.
Definition: ucal.h:480
U_STABLE
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition: umachine.h:111
UCAL_ZONE_TYPE_ANY
@ UCAL_ZONE_TYPE_ANY
Any system zones.
Definition: ucal.h:539
UCAL_SKIPPED_WALL_TIME
@ UCAL_SKIPPED_WALL_TIME
The behavior for handling skipped wall time at positive time zone offset transitions.
Definition: ucal.h:896
UCAL_HOUR_OF_DAY
@ UCAL_HOUR_OF_DAY
Field number indicating the hour of the day.
Definition: ucal.h:334
ucal_clear
void ucal_clear(UCalendar *calendar)
Clear all fields in a UCalendar.
ucal_clearField
void ucal_clearField(UCalendar *cal, UCalendarDateFields field)
Clear a field in a UCalendar.
UCalendarDateFields
UCalendarDateFields
Possible fields in a UCalendar.
Definition: ucal.h:185
ucal_openCountryTimeZones
UEnumeration * ucal_openCountryTimeZones(const char *country, UErrorCode *ec)
Create an enumeration over all time zones associated with the given country.
UCAL_DATE
@ UCAL_DATE
Field number indicating the day of the month.
Definition: ucal.h:255
UChar
uint16_t UChar
Definition: umachine.h:353
UCalendarType
UCalendarType
Possible types of UCalendars.
Definition: ucal.h:160
UCAL_MILLISECONDS_IN_DAY
@ UCAL_MILLISECONDS_IN_DAY
Ranges from 0 to 23:59:59.999 (regardless of DST).
Definition: ucal.h:420
UCAL_LENIENT
@ UCAL_LENIENT
Lenient parsing.
Definition: ucal.h:874
ucal_getLimit
int32_t ucal_getLimit(const UCalendar *cal, UCalendarDateFields field, UCalendarLimitType type, UErrorCode *status)
Determine a limit for a field in a UCalendar.
UEnumeration
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition: uenum.h:43
UCAL_AM
@ UCAL_AM
AM.
Definition: ucal.h:520
UCAL_WALLTIME_NEXT_VALID
@ UCAL_WALLTIME_NEXT_VALID
An ambiguous wall time to be interpreted as the next valid wall time.
Definition: ucal.h:927
UCAL_ERA
@ UCAL_ERA
Field number indicating the era, e.g., AD or BC in the Gregorian (Julian) calendar.
Definition: ucal.h:191
UCAL_AUGUST
@ UCAL_AUGUST
August.
Definition: ucal.h:496
ucal_openTimeZones
UEnumeration * ucal_openTimeZones(UErrorCode *ec)
Create an enumeration over all time zones.
U_NAMESPACE_END
#define U_NAMESPACE_END
Definition: uversion.h:138
UCAL_WEEKDAY
@ UCAL_WEEKDAY
Designates a full weekday (no part of the day is included in the weekend).
Definition: ucal.h:1346
UCAL_UNDECIMBER
@ UCAL_UNDECIMBER
Value of the UCAL_MONTH field indicating the thirteenth month of the year.
Definition: ucal.h:509
U_NAMESPACE_BEGIN
#define U_NAMESPACE_BEGIN
Definition: uversion.h:137
UCAL_TZ_TRANSITION_PREVIOUS_INCLUSIVE
@ UCAL_TZ_TRANSITION_PREVIOUS_INCLUSIVE
Get the previous transition on or before the current date, i.e.
Definition: ucal.h:1478
UCAL_DOW_LOCAL
@ UCAL_DOW_LOCAL
Field number indicating the localized day of week.
Definition: ucal.h:389
USystemTimeZoneType
USystemTimeZoneType
System time zone type constants used by filtering zones in ucal_openTimeZoneIDEnumeration.
Definition: ucal.h:534
UCAL_TZ_TRANSITION_NEXT
@ UCAL_TZ_TRANSITION_NEXT
Get the next transition after the current date, i.e.
Definition: ucal.h:1460
UCAL_MAXIMUM
@ UCAL_MAXIMUM
Maximum value.
Definition: ucal.h:1231
ucal_getTimeZoneTransitionDate
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,...
uenum.h
C API: String Enumeration.
UCAL_THURSDAY
@ UCAL_THURSDAY
Thursday.
Definition: ucal.h:467
UCAL_SEPTEMBER
@ UCAL_SEPTEMBER
September.
Definition: ucal.h:498
UCAL_ACTUAL_MINIMUM
@ UCAL_ACTUAL_MINIMUM
Actual minimum value.
Definition: ucal.h:1237