"Fossies" - the Fresh Open Source Software Archive

Member "ucal_8h_source.html" (3 Oct 2019, 147720 Bytes) of package /linux/misc/icu4c-65_1-docs.zip:


Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the project site itself.

ICU 65.1  65.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 
163 #define UCAL_UNKNOWN_ZONE_ID "Etc/Unknown"
164 
169 typedef void* UCalendar;
170 
191 };
192 
195 
206 
212 
233 
246 
261 
270 
277 
293 
318 
329 
340 
349 
357 
365 
373 
380 
387 
396 
404 
412 
424 
435 
441 
442  /* Do not conditionalize the following with #ifndef U_HIDE_DEPRECATED_API,
443  * it is needed for layout of Calendar, DateFormat, and other objects */
444 #ifndef U_FORCE_HIDE_DEPRECATED_API
445 
450 #endif // U_FORCE_HIDE_DEPRECATED_API
451 
461 };
462 
488 };
489 
492 
526 };
527 
530 
539 };
540 
543 
566 };
567 
570 
587 U_STABLE UEnumeration* U_EXPORT2
588 ucal_openTimeZoneIDEnumeration(USystemTimeZoneType zoneType, const char* region,
589  const int32_t* rawOffset, UErrorCode* ec);
590 
602 U_STABLE UEnumeration* U_EXPORT2
604 
621 U_STABLE UEnumeration* U_EXPORT2
622 ucal_openCountryTimeZones(const char* country, UErrorCode* ec);
623 
647 U_STABLE int32_t U_EXPORT2
648 ucal_getDefaultTimeZone(UChar* result, int32_t resultCapacity, UErrorCode* ec);
649 
659 U_STABLE void U_EXPORT2
660 ucal_setDefaultTimeZone(const UChar* zoneID, UErrorCode* ec);
661 
662 #ifndef U_HIDE_DRAFT_API
663 
693 U_DRAFT int32_t U_EXPORT2
694 ucal_getHostTimeZone(UChar *result, int32_t resultCapacity, UErrorCode *ec);
695 
696 #endif // U_HIDE_DRAFT_API
697 
714 U_STABLE int32_t U_EXPORT2
715 ucal_getDSTSavings(const UChar* zoneID, UErrorCode* ec);
716 
723 U_STABLE UDate U_EXPORT2
724 ucal_getNow(void);
725 
749 U_STABLE UCalendar* U_EXPORT2
750 ucal_open(const UChar* zoneID,
751  int32_t len,
752  const char* locale,
753  UCalendarType type,
754  UErrorCode* status);
755 
762 U_STABLE void U_EXPORT2
763 ucal_close(UCalendar *cal);
764 
765 #if U_SHOW_CPLUSPLUS_API
766 
767 U_NAMESPACE_BEGIN
768 
779 
780 U_NAMESPACE_END
781 
782 #endif
783 
792 U_STABLE UCalendar* U_EXPORT2
793 ucal_clone(const UCalendar* cal,
794  UErrorCode* status);
795 
805 U_STABLE void U_EXPORT2
807  const UChar* zoneID,
808  int32_t len,
809  UErrorCode* status);
810 
821 U_STABLE int32_t U_EXPORT2
822 ucal_getTimeZoneID(const UCalendar *cal,
823  UChar *result,
824  int32_t resultLength,
825  UErrorCode *status);
826 
840 };
841 
844 
858 U_STABLE int32_t U_EXPORT2
861  const char* locale,
862  UChar* result,
863  int32_t resultLength,
864  UErrorCode* status);
865 
874 U_STABLE UBool U_EXPORT2
875 ucal_inDaylightTime(const UCalendar* cal,
876  UErrorCode* status );
877 
898 U_STABLE void U_EXPORT2
899 ucal_setGregorianChange(UCalendar *cal, UDate date, UErrorCode *pErrorCode);
900 
921 U_STABLE UDate U_EXPORT2
922 ucal_getGregorianChange(const UCalendar *cal, UErrorCode *pErrorCode);
923 
956 };
957 
960 
987 };
990 
1002 U_STABLE int32_t U_EXPORT2
1003 ucal_getAttribute(const UCalendar* cal,
1004  UCalendarAttribute attr);
1005 
1017 U_STABLE void U_EXPORT2
1019  UCalendarAttribute attr,
1020  int32_t newValue);
1021 
1031 U_STABLE const char* U_EXPORT2
1032 ucal_getAvailable(int32_t localeIndex);
1033 
1042 U_STABLE int32_t U_EXPORT2
1043 ucal_countAvailable(void);
1044 
1056 U_STABLE UDate U_EXPORT2
1057 ucal_getMillis(const UCalendar* cal,
1058  UErrorCode* status);
1059 
1071 U_STABLE void U_EXPORT2
1073  UDate dateTime,
1074  UErrorCode* status );
1075 
1090 U_STABLE void U_EXPORT2
1091 ucal_setDate(UCalendar* cal,
1092  int32_t year,
1093  int32_t month,
1094  int32_t date,
1095  UErrorCode* status);
1096 
1114 U_STABLE void U_EXPORT2
1116  int32_t year,
1117  int32_t month,
1118  int32_t date,
1119  int32_t hour,
1120  int32_t minute,
1121  int32_t second,
1122  UErrorCode* status);
1123 
1133 U_STABLE UBool U_EXPORT2
1134 ucal_equivalentTo(const UCalendar* cal1,
1135  const UCalendar* cal2);
1136 
1155 U_STABLE void U_EXPORT2
1156 ucal_add(UCalendar* cal,
1157  UCalendarDateFields field,
1158  int32_t amount,
1159  UErrorCode* status);
1160 
1185 U_STABLE void U_EXPORT2
1186 ucal_roll(UCalendar* cal,
1187  UCalendarDateFields field,
1188  int32_t amount,
1189  UErrorCode* status);
1190 
1207 U_STABLE int32_t U_EXPORT2
1208 ucal_get(const UCalendar* cal,
1209  UCalendarDateFields field,
1210  UErrorCode* status );
1211 
1227 U_STABLE void U_EXPORT2
1228 ucal_set(UCalendar* cal,
1229  UCalendarDateFields field,
1230  int32_t value);
1231 
1247 U_STABLE UBool U_EXPORT2
1248 ucal_isSet(const UCalendar* cal,
1249  UCalendarDateFields field);
1250 
1265 U_STABLE void U_EXPORT2
1267  UCalendarDateFields field);
1268 
1279 U_STABLE void U_EXPORT2
1280 ucal_clear(UCalendar* calendar);
1281 
1299 };
1300 
1303 
1318 U_STABLE int32_t U_EXPORT2
1319 ucal_getLimit(const UCalendar* cal,
1320  UCalendarDateFields field,
1321  UCalendarLimitType type,
1322  UErrorCode* status);
1323 
1331 U_STABLE const char * U_EXPORT2
1332 ucal_getLocaleByType(const UCalendar *cal, ULocDataLocaleType type, UErrorCode* status);
1333 
1340 U_STABLE const char * U_EXPORT2
1342 
1361 U_STABLE int32_t U_EXPORT2
1362 ucal_getCanonicalTimeZoneID(const UChar* id, int32_t len,
1363  UChar* result, int32_t resultCapacity, UBool *isSystemID, UErrorCode* status);
1371 U_STABLE const char * U_EXPORT2
1372 ucal_getType(const UCalendar *cal, UErrorCode* status);
1373 
1390 U_STABLE UEnumeration* U_EXPORT2
1391 ucal_getKeywordValuesForLocale(const char* key,
1392  const char* locale,
1393  UBool commonlyUsed,
1394  UErrorCode* status);
1395 
1396 
1423 };
1424 
1427 
1446 ucal_getDayOfWeekType(const UCalendar *cal, UCalendarDaysOfWeek dayOfWeek, UErrorCode* status);
1447 
1463 U_STABLE int32_t U_EXPORT2
1464 ucal_getWeekendTransition(const UCalendar *cal, UCalendarDaysOfWeek dayOfWeek, UErrorCode *status);
1465 
1476 U_STABLE UBool U_EXPORT2
1477 ucal_isWeekend(const UCalendar *cal, UDate date, UErrorCode *status);
1478 
1503 U_STABLE int32_t U_EXPORT2
1505  UDate target,
1506  UCalendarDateFields field,
1507  UErrorCode* status);
1508 
1538 };
1539 
1557 U_STABLE UBool U_EXPORT2
1559  UDate* transition, UErrorCode* status);
1560 
1585 U_STABLE int32_t U_EXPORT2
1586 ucal_getWindowsTimeZoneID(const UChar* id, int32_t len,
1587  UChar* winid, int32_t winidCapacity, UErrorCode* status);
1588 
1617 U_STABLE int32_t U_EXPORT2
1618 ucal_getTimeZoneIDForWindowsID(const UChar* winid, int32_t len, const char* region,
1619  UChar* id, int32_t idCapacity, UErrorCode* status);
1620 
1621 #endif /* #if !UCONFIG_NO_FORMATTING */
1622 
1623 #endif
UCalendar * ucal_clone(const UCalendar *cal, UErrorCode *status)
Open a copy of a UCalendar.
A better name for UCAL_TRADITIONAL.
Definition: ucal.h:185
void * UCalendar
A calendar.
Definition: ucal.h:169
Field number indicating the day number within the current year.
Definition: ucal.h:276
August.
Definition: ucal.h:512
May.
Definition: ucal.h:506
Short standard display name.
Definition: ucal.h:835
UCalendarDateFields
Possible fields in a UCalendar.
Definition: ucal.h:199
void ucal_setGregorianChange(UCalendar *cal, UDate date, UErrorCode *pErrorCode)
Sets the GregorianCalendar change date.
Field number indicating the day of the month.
Definition: ucal.h:269
void ucal_clear(UCalendar *calendar)
Clear all fields in a UCalendar.
Ranges from 0 to 23:59:59.999 (regardless of DST).
Definition: ucal.h:434
Minimum number of days in first week.
Definition: ucal.h:943
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.
int32_t ucal_countAvailable(void)
Determine how many locales have calendars available.
Lenient parsing.
Definition: ucal.h:933
AM.
Definition: ucal.h:536
Field number indicating the era, e.g., AD or BC in the Gregorian (Julian) calendar.
Definition: ucal.h:205
Designates a day that starts as the weekend and transitions to a weekday.
Definition: ucal.h:1422
Get the next transition on or after the current date, i.e.
Definition: ucal.h:1525
UBool ucal_inDaylightTime(const UCalendar *cal, UErrorCode *status)
Determine if a UCalendar is currently in daylight savings time.
Designates a full weekday (no part of the day is included in the weekend).
Definition: ucal.h:1405
Value of the UCAL_MONTH field indicating the thirteenth month of the year.
Definition: ucal.h:525
int32_t ucal_get(const UCalendar *cal, UCalendarDateFields field, UErrorCode *status)
Get the current value of a field from a UCalendar.
int32_t ucal_getLimit(const UCalendar *cal, UCalendarDateFields field, UCalendarLimitType type, UErrorCode *status)
Determine a limit for a field in a UCalendar.
UBool ucal_isSet(const UCalendar *cal, UCalendarDateFields field)
Determine if a field in a UCalendar is set.
Get the next transition after the current date, i.e.
Definition: ucal.h:1519
Maximum value.
Definition: ucal.h:1290
June.
Definition: ucal.h:508
Leaest maximum value.
Definition: ucal.h:1294
double UDate
Date and Time data type.
Definition: utypes.h:203
Field number indicating the week number within the current month.
Definition: ucal.h:260
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition: uenum.h:43
Field number indicating the millisecond within the second.
Definition: ucal.h:372
Year of this calendar system, encompassing all supra-year fields.
Definition: ucal.h:411
Standard display name.
Definition: ucal.h:833
UBool ucal_isWeekend(const UCalendar *cal, UDate date, UErrorCode *status)
Returns TRUE if the given UDate is in the weekend in this calendar system.
Actual minimum value.
Definition: ucal.h:1296
Friday.
Definition: ucal.h:485
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...
const char * ucal_getAvailable(int32_t localeIndex)
Get a locale for which calendars are available.
Minimum value.
Definition: ucal.h:1288
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...
UBool ucal_equivalentTo(const UCalendar *cal1, const UCalendar *cal2)
Returns TRUE if two UCalendars are equivalent.
Wednesday.
Definition: ucal.h:481
Tuesday.
Definition: ucal.h:479
UCalendarWeekdayType
Weekday types, as returned by ucal_getDayOfWeekType().
Definition: ucal.h:1400
Saturday.
Definition: ucal.h:487
March.
Definition: ucal.h:502
Field number indicating the extended year corresponding to the UCAL_WEEK_OF_YEAR field.
Definition: ucal.h:395
Field number indicating the day of the month.
Definition: ucal.h:460
"Smart pointer" class, closes a UCalendar via ucal_close().
UCalendarAttribute
Types of UCalendar attributes.
Definition: ucal.h:928
UTimeZoneTransitionType
Time zone transition types for ucal_getTimeZoneTransitionDate.
Definition: ucal.h:1513
Get the previous transition before the current date, i.e.
Definition: ucal.h:1531
An ambiguous wall time to be interpreted as the earliest.
Definition: ucal.h:980
Sunday.
Definition: ucal.h:475
UCalendarWallTimeOption
Options for handling ambiguous wall time at time zone offset transitions.
Definition: ucal.h:966
Field number indicating whether the HOUR is before or after noon.
Definition: ucal.h:328
Field number indicating the ordinal number of the day of the week within the current month...
Definition: ucal.h:317
First day of week.
Definition: ucal.h:938
int32_t ucal_getTimeZoneID(const UCalendar *cal, UChar *result, int32_t resultLength, UErrorCode *status)
Get the ID of the UCalendar's time zone.
February.
Definition: ucal.h:500
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...
October.
Definition: ucal.h:516
Short daylight savings display name.
Definition: ucal.h:839
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...
Greatest minimum value.
Definition: ucal.h:1292
UCalendarDaysOfWeek
Useful constant for days of week.
Definition: ucal.h:473
November.
Definition: ucal.h:518
const char * ucal_getLocaleByType(const UCalendar *cal, ULocDataLocaleType type, UErrorCode *status)
Get the locale for this calendar object.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:562
Daylight savings display name.
Definition: ucal.h:837
Despite the name, UCAL_TRADITIONAL designates the locale's default calendar, which may be the Gregori...
Definition: ucal.h:180
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...
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
July.
Definition: ucal.h:510
UEnumeration * ucal_openTimeZones(UErrorCode *ec)
Create an enumeration over all time zones.
Canonical system zones associated with actual locations.
Definition: ucal.h:565
Monday.
Definition: ucal.h:477
Field number indicating the hour of the morning or afternoon.
Definition: ucal.h:339
Field number indicating the minute within the hour.
Definition: ucal.h:356
UEnumeration * ucal_openCountryTimeZones(const char *country, UErrorCode *ec)
Create an enumeration over all time zones associated with the given country.
UCalendar * ucal_open(const UChar *zoneID, int32_t len, const char *locale, UCalendarType type, UErrorCode *status)
Open a UCalendar.
int32_t ucal_getAttribute(const UCalendar *cal, UCalendarAttribute attr)
Get a numeric attribute associated with a UCalendar.
April.
Definition: ucal.h:504
void ucal_setAttribute(UCalendar *cal, UCalendarAttribute attr, int32_t newValue)
Set a numeric attribute associated with a UCalendar.
Any system zones.
Definition: ucal.h:555
Field number indicating the day of the week.
Definition: ucal.h:292
void ucal_set(UCalendar *cal, UCalendarDateFields field, int32_t value)
Set the value of a field in a UCalendar.
Whether or not the current month is a leap month (0 or 1).
Definition: ucal.h:440
The behavior for handling skipped wall time at positive time zone offset transitions.
Definition: ucal.h:955
Field number indicating the year.
Definition: ucal.h:211
Get the previous transition on or before the current date, i.e.
Definition: ucal.h:1537
void ucal_close(UCalendar *cal)
Close a UCalendar.
const char * ucal_getTZDataVersion(UErrorCode *status)
Returns the timezone data version currently used by ICU.
void ucal_setMillis(UCalendar *cal, UDate dateTime, UErrorCode *status)
Set a UCalendar's current time in millis.
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...
Actual maximum value.
Definition: ucal.h:1298
uint16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:378
UCalendarType
Possible types of UCalendars.
Definition: ucal.h:174
void ucal_setDate(UCalendar *cal, int32_t year, int32_t month, int32_t date, UErrorCode *status)
Set a UCalendar's current date.
Thursday.
Definition: ucal.h:483
September.
Definition: ucal.h:514
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.
An ambiguous wall time to be interpreted as the next valid wall time.
Definition: ucal.h:986
Canonical system zones.
Definition: ucal.h:560
USystemTimeZoneType
System time zone type constants used by filtering zones in ucal_openTimeZoneIDEnumeration.
Definition: ucal.h:550
Field number indicating the localized day of week.
Definition: ucal.h:403
Designates a full weekend day (the entire day is included in the weekend).
Definition: ucal.h:1410
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
void ucal_add(UCalendar *cal, UCalendarDateFields field, int32_t amount, UErrorCode *status)
Add a specified signed amount to a particular field in a UCalendar.
void ucal_setDefaultTimeZone(const UChar *zoneID, UErrorCode *ec)
Set the default time zone.
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested...
Definition: uloc.h:338
Unambiguously designates the Gregorian calendar for the locale.
Definition: ucal.h:190
C API: String Enumeration.
int32_t ucal_getDefaultTimeZone(UChar *result, int32_t resultCapacity, UErrorCode *ec)
Return the default time zone.
January.
Definition: ucal.h:498
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.
const char * ucal_getType(const UCalendar *cal, UErrorCode *status)
Get the resource keyword value string designating the calendar type for the UCalendar.
Basic definitions for ICU, for both C and C++ APIs.
The behavior for handling wall time repeating multiple times at negative time zone offset transitions...
Definition: ucal.h:949
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.
Designates a day that starts as a weekday and transitions to the weekend.
Definition: ucal.h:1416
Field number indicating the daylight savings offset in milliseconds.
Definition: ucal.h:386
Field number indicating the second within the minute.
Definition: ucal.h:364
One more than the highest normal UCalendarDateFields value.
Definition: ucal.h:449
int32_t ucal_getHostTimeZone(UChar *result, int32_t resultCapacity, UErrorCode *ec)
Return the current host time zone.
void ucal_roll(UCalendar *cal, UCalendarDateFields field, int32_t amount, UErrorCode *status)
Add a specified signed amount to a particular field in a UCalendar.
UCalendarDisplayNameType
Possible formats for a UCalendar's display name.
Definition: ucal.h:831
Field number indicating the raw offset from GMT in milliseconds.
Definition: ucal.h:379
void ucal_setTimeZone(UCalendar *cal, const UChar *zoneID, int32_t len, UErrorCode *status)
Set the TimeZone used by a UCalendar.
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...
UCalendarAMPMs
Possible AM/PM values in a UCalendar.
Definition: ucal.h:534
Field number indicating the week number within the current year.
Definition: ucal.h:245
UCalendarLimitType
Possible limit values for a UCalendar.
Definition: ucal.h:1286
#define U_DRAFT
This is used to declare a function as a draft public ICU C API.
Definition: umachine.h:113
UDate ucal_getNow(void)
Get the current date and time.
UCalendarMonths
Possible months in a UCalendar.
Definition: ucal.h:496
December.
Definition: ucal.h:520
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. ...
An ambiguous wall time to be interpreted as the latest.
Definition: ucal.h:973
Field number indicating the hour of the day.
Definition: ucal.h:348
Field number indicating the modified Julian day number.
Definition: ucal.h:423
UDate ucal_getMillis(const UCalendar *cal, UErrorCode *status)
Get a UCalendar's current time in millis.
UDate ucal_getGregorianChange(const UCalendar *cal, UErrorCode *pErrorCode)
Gets the Gregorian Calendar change date.
void ucal_clearField(UCalendar *cal, UCalendarDateFields field)
Clear a field in a UCalendar.
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition: umachine.h:111
int8_t UBool
The ICU boolean type.
Definition: umachine.h:261
Field number indicating the month.
Definition: ucal.h:232
PM.
Definition: ucal.h:538
C API: Locale.