ICU 62.1 62.1
udat.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-2016, International Business Machines
6 * Corporation and others. All Rights Reserved.
7 *******************************************************************************
8*/
9
10#ifndef UDAT_H
11#define UDAT_H
12
13#include "unicode/utypes.h"
14
15#if !UCONFIG_NO_FORMATTING
16
18#include "unicode/ucal.h"
19#include "unicode/unum.h"
153typedef void* UDateFormat;
154
158typedef enum UDateFormatStyle {
169
171 UDAT_RELATIVE = (1 << 7),
172
173 UDAT_FULL_RELATIVE = UDAT_FULL | UDAT_RELATIVE,
174
175 UDAT_LONG_RELATIVE = UDAT_LONG | UDAT_RELATIVE,
176
177 UDAT_MEDIUM_RELATIVE = UDAT_MEDIUM | UDAT_RELATIVE,
178
179 UDAT_SHORT_RELATIVE = UDAT_SHORT | UDAT_RELATIVE,
180
181
184
191
195#endif /* U_HIDE_INTERNAL_API */
197
198/* Skeletons for dates. */
199
204#define UDAT_YEAR "y"
209#define UDAT_QUARTER "QQQQ"
214#define UDAT_ABBR_QUARTER "QQQ"
219#define UDAT_YEAR_QUARTER "yQQQQ"
224#define UDAT_YEAR_ABBR_QUARTER "yQQQ"
229#define UDAT_MONTH "MMMM"
234#define UDAT_ABBR_MONTH "MMM"
239#define UDAT_NUM_MONTH "M"
244#define UDAT_YEAR_MONTH "yMMMM"
249#define UDAT_YEAR_ABBR_MONTH "yMMM"
254#define UDAT_YEAR_NUM_MONTH "yM"
259#define UDAT_DAY "d"
265#define UDAT_YEAR_MONTH_DAY "yMMMMd"
271#define UDAT_YEAR_ABBR_MONTH_DAY "yMMMd"
277#define UDAT_YEAR_NUM_MONTH_DAY "yMd"
282#define UDAT_WEEKDAY "EEEE"
287#define UDAT_ABBR_WEEKDAY "E"
293#define UDAT_YEAR_MONTH_WEEKDAY_DAY "yMMMMEEEEd"
299#define UDAT_YEAR_ABBR_MONTH_WEEKDAY_DAY "yMMMEd"
305#define UDAT_YEAR_NUM_MONTH_WEEKDAY_DAY "yMEd"
311#define UDAT_MONTH_DAY "MMMMd"
317#define UDAT_ABBR_MONTH_DAY "MMMd"
323#define UDAT_NUM_MONTH_DAY "Md"
329#define UDAT_MONTH_WEEKDAY_DAY "MMMMEEEEd"
335#define UDAT_ABBR_MONTH_WEEKDAY_DAY "MMMEd"
341#define UDAT_NUM_MONTH_WEEKDAY_DAY "MEd"
342
343/* Skeletons for times. */
344
349#define UDAT_HOUR "j"
354#define UDAT_HOUR24 "H"
359#define UDAT_MINUTE "m"
365#define UDAT_HOUR_MINUTE "jm"
371#define UDAT_HOUR24_MINUTE "Hm"
376#define UDAT_SECOND "s"
383#define UDAT_HOUR_MINUTE_SECOND "jms"
390#define UDAT_HOUR24_MINUTE_SECOND "Hms"
396#define UDAT_MINUTE_SECOND "ms"
397
398/* Skeletons for time zones. */
399
407#define UDAT_LOCATION_TZ "VVVV"
415#define UDAT_GENERIC_TZ "vvvv"
423#define UDAT_ABBR_GENERIC_TZ "v"
431#define UDAT_SPECIFIC_TZ "zzzz"
439#define UDAT_ABBR_SPECIFIC_TZ "z"
447#define UDAT_ABBR_UTC_TZ "ZZZZ"
448
449/* deprecated skeleton constants */
450
451#ifndef U_HIDE_DEPRECATED_API
456#define UDAT_STANDALONE_MONTH "LLLL"
461#define UDAT_ABBR_STANDALONE_MONTH "LLL"
462
467#define UDAT_HOUR_MINUTE_GENERIC_TZ "jmv"
472#define UDAT_HOUR_MINUTE_TZ "jmz"
477#define UDAT_HOUR_GENERIC_TZ "jv"
482#define UDAT_HOUR_TZ "jz"
483#endif /* U_HIDE_DEPRECATED_API */
484
490typedef enum UDateFormatField {
497
504
511
518
527
536
543
550
565
572
579
586
593
600
607
616
625
633
640
647
654
661
668
676
690
698
707
716
723
732
740
748
756
757#ifndef U_HIDE_INTERNAL_API
764#endif /* U_HIDE_INTERNAL_API */
765
773
774 /* FieldPosition selector for 'B' field alignment.
775 * Displays flexible day periods, such as "in the morning", if available.
776 * @stable ICU 57
777 */
778 UDAT_FLEXIBLE_DAY_PERIOD_FIELD = 36,
779
780#ifndef U_HIDE_INTERNAL_API
788#endif /* U_HIDE_INTERNAL_API */
789
790#ifndef U_HIDE_DEPRECATED_API
798#endif /* U_HIDE_DEPRECATED_API */
800
801
802#ifndef U_HIDE_INTERNAL_API
808#define UDAT_HAS_PATTERN_CHAR_FOR_TIME_SEPARATOR 0
809#endif /* U_HIDE_INTERNAL_API */
810
811
822
823
852U_CAPI UDateFormat* U_EXPORT2
854 UDateFormatStyle dateStyle,
855 const char *locale,
856 const UChar *tzID,
857 int32_t tzIDLength,
858 const UChar *pattern,
859 int32_t patternLength,
860 UErrorCode *status);
861
862
869U_CAPI void U_EXPORT2
871
872
902
903 /* Do not conditionalize the following with #ifndef U_HIDE_DEPRECATED_API,
904 * it is needed for layout of DateFormat object. */
911
922U_CAPI UBool U_EXPORT2
924
935U_CAPI void U_EXPORT2
937
938
939
940#if U_SHOW_CPLUSPLUS_API
941
943
954
956
957#endif
958
967U_CAPI UDateFormat* U_EXPORT2
969 UErrorCode *status);
970
989U_CAPI int32_t U_EXPORT2
991 UDate dateToFormat,
992 UChar* result,
993 int32_t resultLength,
994 UFieldPosition* position,
995 UErrorCode* status);
996
1019U_CAPI int32_t U_EXPORT2
1021 UCalendar* calendar,
1022 UChar* result,
1023 int32_t capacity,
1024 UFieldPosition* position,
1025 UErrorCode* status);
1026
1054U_CAPI int32_t U_EXPORT2
1056 UDate dateToFormat,
1057 UChar* result,
1058 int32_t resultLength,
1059 UFieldPositionIterator* fpositer,
1060 UErrorCode* status);
1061
1092U_CAPI int32_t U_EXPORT2
1094 UCalendar* calendar,
1095 UChar* result,
1096 int32_t capacity,
1097 UFieldPositionIterator* fpositer,
1098 UErrorCode* status);
1099
1100
1126U_CAPI UDate U_EXPORT2
1128 const UChar* text,
1129 int32_t textLength,
1130 int32_t *parsePos,
1131 UErrorCode *status);
1132
1154U_CAPI void U_EXPORT2
1156 UCalendar* calendar,
1157 const UChar* text,
1158 int32_t textLength,
1159 int32_t *parsePos,
1160 UErrorCode *status);
1161
1171U_CAPI UBool U_EXPORT2
1173
1183U_CAPI void U_EXPORT2
1185 UBool isLenient);
1186
1196U_CAPI const UCalendar* U_EXPORT2
1198
1208U_CAPI void U_EXPORT2
1210 const UCalendar* calendarToSet);
1211
1221U_CAPI const UNumberFormat* U_EXPORT2
1223
1233U_CAPI const UNumberFormat* U_EXPORT2
1235
1251U_CAPI void U_EXPORT2
1253 const UChar* fields,
1254 UNumberFormat* numberFormatToSet,
1255 UErrorCode* status);
1268U_CAPI void U_EXPORT2
1270 const UNumberFormat* numberFormatToSet);
1280U_CAPI void U_EXPORT2
1282 UNumberFormat* numberFormatToAdopt);
1292U_CAPI const char* U_EXPORT2
1293udat_getAvailable(int32_t localeIndex);
1294
1303U_CAPI int32_t U_EXPORT2
1305
1316U_CAPI UDate U_EXPORT2
1318 UErrorCode *status);
1319
1330U_CAPI void U_EXPORT2
1332 UDate d,
1333 UErrorCode *status);
1334
1347U_CAPI int32_t U_EXPORT2
1349 UBool localized,
1350 UChar *result,
1351 int32_t resultLength,
1352 UErrorCode *status);
1353
1364U_CAPI void U_EXPORT2
1366 UBool localized,
1367 const UChar *pattern,
1368 int32_t patternLength);
1369
1466
1467struct UDateFormatSymbols;
1473
1490U_CAPI int32_t U_EXPORT2
1493 int32_t symbolIndex,
1494 UChar *result,
1495 int32_t resultLength,
1496 UErrorCode *status);
1497
1510U_CAPI int32_t U_EXPORT2
1513
1529U_CAPI void U_EXPORT2
1532 int32_t symbolIndex,
1533 UChar *value,
1534 int32_t valueLength,
1535 UErrorCode *status);
1536
1546U_CAPI const char* U_EXPORT2
1548 ULocDataLocaleType type,
1549 UErrorCode* status);
1550
1559U_CAPI void U_EXPORT2
1561
1571U_CAPI UDisplayContext U_EXPORT2
1573
1574#ifndef U_HIDE_INTERNAL_API
1586U_INTERNAL int32_t U_EXPORT2
1588 UChar *result,
1589 int32_t resultLength,
1590 UErrorCode *status);
1591
1603U_INTERNAL int32_t U_EXPORT2
1605 UChar *result,
1606 int32_t resultLength,
1607 UErrorCode *status);
1608
1621U_INTERNAL void U_EXPORT2
1623 const UChar *datePattern,
1624 int32_t datePatternLength,
1625 const UChar *timePattern,
1626 int32_t timePatternLength,
1627 UErrorCode *status);
1628
1633typedef UDateFormat* (U_EXPORT2 *UDateFormatOpener) (UDateFormatStyle timeStyle,
1634 UDateFormatStyle dateStyle,
1635 const char *locale,
1636 const UChar *tzID,
1637 int32_t tzIDLength,
1638 const UChar *pattern,
1639 int32_t patternLength,
1640 UErrorCode *status);
1641
1646U_INTERNAL void U_EXPORT2
1648
1655#endif /* U_HIDE_INTERNAL_API */
1656
1657
1658#endif /* #if !UCONFIG_NO_FORMATTING */
1659
1660#endif
"Smart pointer" class, closes a UDateFormat via udat_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.
A struct representing a range of text containing a specific field.
Definition umisc.h:34
C API: Calendar.
UCalendarDateFields
Possible fields in a UCalendar.
Definition ucal.h:185
void * UCalendar
A calendar.
Definition ucal.h:155
int32_t udat_toPatternRelativeTime(const UDateFormat *fmt, UChar *result, int32_t resultLength, UErrorCode *status)
Extract the time pattern from a UDateFormat set for relative date formatting.
U_CAPI void udat_parseCalendar(const UDateFormat *format, UCalendar *calendar, const UChar *text, int32_t textLength, int32_t *parsePos, UErrorCode *status)
Parse a string into an date/time using a UDateFormat.
U_CAPI const char * udat_getLocaleByType(const UDateFormat *fmt, ULocDataLocaleType type, UErrorCode *status)
Get the locale for this date format object.
U_CAPI const char * udat_getAvailable(int32_t localeIndex)
Get a locale for which date/time formatting patterns are available.
void udat_applyPatternRelative(UDateFormat *format, const UChar *datePattern, int32_t datePatternLength, const UChar *timePattern, int32_t timePatternLength, UErrorCode *status)
Set the date & time patterns used by a UDateFormat set for relative date formatting.
void * UDateFormat
A date formatter.
Definition udat.h:153
U_CAPI UDateFormat * udat_open(UDateFormatStyle timeStyle, UDateFormatStyle dateStyle, const char *locale, const UChar *tzID, int32_t tzIDLength, const UChar *pattern, int32_t patternLength, UErrorCode *status)
Open a new UDateFormat for formatting and parsing dates and times.
U_CAPI UBool udat_isLenient(const UDateFormat *fmt)
Determine if an UDateFormat will perform lenient parsing.
U_CAPI int32_t udat_formatCalendar(const UDateFormat *format, UCalendar *calendar, UChar *result, int32_t capacity, UFieldPosition *position, UErrorCode *status)
Format a date using an UDateFormat.
U_CAPI UCalendarDateFields udat_toCalendarDateField(UDateFormatField field)
Maps from a UDateFormatField to the corresponding UCalendarDateFields.
U_CAPI void udat_adoptNumberFormatForFields(UDateFormat *fmt, const UChar *fields, UNumberFormat *numberFormatToSet, UErrorCode *status)
Set the UNumberFormat for specific field associated with an UDateFormat.
U_CAPI UDisplayContext udat_getContext(const UDateFormat *fmt, UDisplayContextType type, UErrorCode *status)
Get the formatter's UDisplayContext value for the specified UDisplayContextType, such as UDISPCTX_TYP...
U_CAPI void udat_close(UDateFormat *format)
Close a UDateFormat.
U_CAPI const UNumberFormat * udat_getNumberFormatForField(const UDateFormat *fmt, UChar field)
Get the UNumberFormat for specific field associated with an UDateFormat.
UDateFormat *(* UDateFormatOpener)(UDateFormatStyle timeStyle, UDateFormatStyle dateStyle, const char *locale, const UChar *tzID, int32_t tzIDLength, const UChar *pattern, int32_t patternLength, UErrorCode *status)
Definition udat.h:1633
UDateFormatSymbolType
The possible types of date format symbols.
Definition udat.h:1374
@ UDAT_ERAS
The era names, for example AD.
Definition udat.h:1376
@ UDAT_CYCLIC_YEARS_WIDE
Cyclic year names (only supported for some calendars, and only for FORMAT usage; udat_setSymbols not ...
Definition udat.h:1436
@ UDAT_CYCLIC_YEARS_NARROW
Cyclic year names (only supported for some calendars, and only for FORMAT usage; udat_setSymbols not ...
Definition udat.h:1447
@ UDAT_STANDALONE_NARROW_WEEKDAYS
The CLDR-style stand-alone "narrow" weekday names.
Definition udat.h:1410
@ UDAT_SHORT_QUARTERS
The short quarter names, for example Q1.
Definition udat.h:1414
@ UDAT_STANDALONE_QUARTERS
Standalone context versions of quarters.
Definition udat.h:1416
@ UDAT_SHORT_WEEKDAYS
The CLDR-style format "abbreviated" (not "short") weekday names, for example "Mon....
Definition udat.h:1387
@ UDAT_ZODIAC_NAMES_NARROW
Calendar zodiac names (only supported for some calendars, and only for FORMAT usage; udat_setSymbols ...
Definition udat.h:1464
@ UDAT_NARROW_WEEKDAYS
The CLDR-style format "narrow" weekday names, for example "M".
Definition udat.h:1397
@ UDAT_STANDALONE_WEEKDAYS
The CLDR-style stand-alone "wide" weekday names.
Definition udat.h:1403
@ UDAT_ERA_NAMES
The long era names, for example Anno Domini.
Definition udat.h:1393
@ UDAT_STANDALONE_SHORTER_WEEKDAYS
Standalone version of UDAT_SHORTER_WEEKDAYS.
Definition udat.h:1430
@ UDAT_WEEKDAYS
The CLDR-style format "wide" weekday names, for example Monday.
Definition udat.h:1382
@ UDAT_QUARTERS
The quarters, for example 1st Quarter.
Definition udat.h:1412
@ UDAT_LOCALIZED_CHARS
The localized characters.
Definition udat.h:1391
@ UDAT_SHORTER_WEEKDAYS
The CLDR-style short weekday names, e.g.
Definition udat.h:1425
@ UDAT_ZODIAC_NAMES_ABBREVIATED
Calendar zodiac names (only supported for some calendars, and only for FORMAT usage)
Definition udat.h:1458
@ UDAT_ZODIAC_NAMES_WIDE
Calendar zodiac names (only supported for some calendars, and only for FORMAT usage; udat_setSymbols ...
Definition udat.h:1453
@ UDAT_MONTHS
The month names, for example February.
Definition udat.h:1378
@ UDAT_NARROW_MONTHS
The narrow month names, for example F.
Definition udat.h:1395
@ UDAT_CYCLIC_YEARS_ABBREVIATED
Cyclic year names (only supported for some calendars, and only for FORMAT usage)
Definition udat.h:1441
@ UDAT_STANDALONE_MONTHS
Standalone context versions of months.
Definition udat.h:1399
@ UDAT_STANDALONE_SHORT_WEEKDAYS
The CLDR-style stand-alone "abbreviated" (not "short") weekday names.
Definition udat.h:1408
@ UDAT_SHORT_MONTHS
The short month names, for example Feb.
Definition udat.h:1380
@ UDAT_AM_PMS
The AM/PM names, for example AM.
Definition udat.h:1389
U_CAPI void udat_setNumberFormat(UDateFormat *fmt, const UNumberFormat *numberFormatToSet)
Set the UNumberFormat associated with an UDateFormat.
U_CAPI void udat_set2DigitYearStart(UDateFormat *fmt, UDate d, UErrorCode *status)
Set the year relative to which all 2-digit years will be interpreted.
U_CAPI int32_t udat_formatForFields(const UDateFormat *format, UDate dateToFormat, UChar *result, int32_t resultLength, UFieldPositionIterator *fpositer, UErrorCode *status)
Format a date using a UDateFormat.
U_CAPI UDate udat_parse(const UDateFormat *format, const UChar *text, int32_t textLength, int32_t *parsePos, UErrorCode *status)
Parse a string into an date/time using a UDateFormat.
U_CAPI void udat_setLenient(UDateFormat *fmt, UBool isLenient)
Specify whether an UDateFormat will perform lenient parsing.
U_CAPI int32_t udat_countAvailable(void)
Determine how many locales have date/time formatting patterns available.
UDateFormatOpener udat_unregisterOpener(UDateFormatOpener opener, UErrorCode *status)
Un-Register a provider factory.
U_CAPI const UNumberFormat * udat_getNumberFormat(const UDateFormat *fmt)
Get the UNumberFormat associated with an UDateFormat.
U_CAPI UDateFormat * udat_clone(const UDateFormat *fmt, UErrorCode *status)
Open a copy of a UDateFormat.
struct UDateFormatSymbols UDateFormatSymbols
Date format symbols.
Definition udat.h:1472
U_CAPI void udat_setContext(UDateFormat *fmt, UDisplayContext value, UErrorCode *status)
Set a particular UDisplayContext value in the formatter, such as UDISPCTX_CAPITALIZATION_FOR_STANDALO...
U_CAPI int32_t udat_toPattern(const UDateFormat *fmt, UBool localized, UChar *result, int32_t resultLength, UErrorCode *status)
Extract the pattern from a UDateFormat.
U_CAPI int32_t udat_format(const UDateFormat *format, UDate dateToFormat, UChar *result, int32_t resultLength, UFieldPosition *position, UErrorCode *status)
Format a date using a UDateFormat.
U_CAPI void udat_setBooleanAttribute(UDateFormat *fmt, UDateFormatBooleanAttribute attr, UBool newValue, UErrorCode *status)
Set a boolean attribute associated with a UDateFormat.
U_CAPI UDate udat_get2DigitYearStart(const UDateFormat *fmt, UErrorCode *status)
Get the year relative to which all 2-digit years are interpreted.
U_CAPI void udat_adoptNumberFormat(UDateFormat *fmt, UNumberFormat *numberFormatToAdopt)
Adopt the UNumberFormat associated with an UDateFormat.
int32_t udat_toPatternRelativeDate(const UDateFormat *fmt, UChar *result, int32_t resultLength, UErrorCode *status)
Extract the date pattern from a UDateFormat set for relative date formatting.
U_CAPI int32_t udat_countSymbols(const UDateFormat *fmt, UDateFormatSymbolType type)
Count the number of particular symbols for an UDateFormat.
void udat_registerOpener(UDateFormatOpener opener, UErrorCode *status)
Register a provider factory.
U_CAPI int32_t udat_getSymbols(const UDateFormat *fmt, UDateFormatSymbolType type, int32_t symbolIndex, UChar *result, int32_t resultLength, UErrorCode *status)
Get the symbols associated with an UDateFormat.
U_CAPI void udat_setSymbols(UDateFormat *format, UDateFormatSymbolType type, int32_t symbolIndex, UChar *value, int32_t valueLength, UErrorCode *status)
Set the symbols associated with an UDateFormat.
U_CAPI void udat_setCalendar(UDateFormat *fmt, const UCalendar *calendarToSet)
Set the UCalendar associated with an UDateFormat.
UDateFormatField
FieldPosition and UFieldPosition selectors for format fields defined by DateFormat and UDateFormat.
Definition udat.h:490
@ UDAT_AM_PM_FIELD
FieldPosition and UFieldPosition selector for 'a' field alignment, corresponding to the UCAL_AM_PM fi...
Definition udat.h:606
@ UDAT_TIMEZONE_FIELD
FieldPosition and UFieldPosition selector for 'z' field alignment, corresponding to the UCAL_ZONE_OFF...
Definition udat.h:632
@ UDAT_DOW_LOCAL_FIELD
FieldPosition and UFieldPosition selector for 'e' field alignment, corresponding to the UCAL_DOW_LOCA...
Definition udat.h:646
@ UDAT_DATE_FIELD
FieldPosition and UFieldPosition selector for 'd' field alignment, corresponding to the UCAL_DATE fie...
Definition udat.h:517
@ UDAT_MONTH_FIELD
FieldPosition and UFieldPosition selector for 'M' field alignment, corresponding to the UCAL_MONTH fi...
Definition udat.h:510
@ UDAT_JULIAN_DAY_FIELD
FieldPosition and UFieldPosition selector for 'g' field alignment, corresponding to the UCAL_JULIAN_D...
Definition udat.h:660
@ UDAT_FIELD_COUNT
Number of FieldPosition and UFieldPosition selectors for DateFormat and UDateFormat.
Definition udat.h:797
@ UDAT_EXTENDED_YEAR_FIELD
FieldPosition and UFieldPosition selector for 'u' field alignment, corresponding to the UCAL_EXTENDED...
Definition udat.h:653
@ UDAT_RELATED_YEAR_FIELD
FieldPosition and UFieldPosition selector for 'r' field alignment, no directly corresponding UCAL_ fi...
Definition udat.h:763
@ UDAT_DAY_OF_WEEK_FIELD
FieldPosition and UFieldPosition selector for 'E' field alignment, corresponding to the UCAL_DAY_OF_W...
Definition udat.h:571
@ UDAT_MILLISECONDS_IN_DAY_FIELD
FieldPosition and UFieldPosition selector for 'A' field alignment, corresponding to the UCAL_MILLISEC...
Definition udat.h:667
@ UDAT_TIMEZONE_SPECIAL_FIELD
FieldPosition and UFieldPosition selector for 'V' field alignment, corresponding to the UCAL_ZONE_OFF...
Definition udat.h:722
@ UDAT_YEAR_FIELD
FieldPosition and UFieldPosition selector for 'y' field alignment, corresponding to the UCAL_YEAR fie...
Definition udat.h:503
@ UDAT_ERA_FIELD
FieldPosition and UFieldPosition selector for 'G' field alignment, corresponding to the UCAL_ERA fiel...
Definition udat.h:496
@ UDAT_STANDALONE_QUARTER_FIELD
FieldPosition selector for the "q" field alignment, corresponding to stand-alone quarters.
Definition udat.h:715
@ UDAT_QUARTER_FIELD
FieldPosition selector for "Q" field alignment, corresponding to quarters.
Definition udat.h:706
@ UDAT_TIMEZONE_RFC_FIELD
FieldPosition and UFieldPosition selector for 'Z' field alignment, corresponding to the UCAL_ZONE_OFF...
Definition udat.h:675
@ UDAT_DAY_OF_YEAR_FIELD
FieldPosition and UFieldPosition selector for 'D' field alignment, corresponding to the UCAL_DAY_OF_Y...
Definition udat.h:578
@ UDAT_WEEK_OF_MONTH_FIELD
FieldPosition and UFieldPosition selector for 'W' field alignment, corresponding to the UCAL_WEEK_OF_...
Definition udat.h:599
@ UDAT_FRACTIONAL_SECOND_FIELD
FieldPosition and UFieldPosition selector for 'S' field alignment, corresponding to the UCAL_MILLISEC...
Definition udat.h:564
@ UDAT_STANDALONE_DAY_FIELD
FieldPosition selector for 'c' field alignment, corresponding to the UCAL_DOW_LOCAL field.
Definition udat.h:689
@ UDAT_TIME_SEPARATOR_FIELD
FieldPosition and UFieldPosition selector for time separator, no corresponding UCAL_ field.
Definition udat.h:787
@ UDAT_TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD
FieldPosition selector for 'O' field alignment, corresponding to the UCAL_ZONE_OFFSET and UCAL_DST_OF...
Definition udat.h:739
@ UDAT_DAY_OF_WEEK_IN_MONTH_FIELD
FieldPosition and UFieldPosition selector for 'F' field alignment, corresponding to the UCAL_DAY_OF_W...
Definition udat.h:585
@ UDAT_TIMEZONE_ISO_LOCAL_FIELD
FieldPosition selector for 'x' field alignment, corresponding to the UCAL_ZONE_OFFSET and UCAL_DST_OF...
Definition udat.h:755
@ UDAT_SECOND_FIELD
FieldPosition and UFieldPosition selector for 's' field alignment, corresponding to the UCAL_SECOND f...
Definition udat.h:549
@ UDAT_HOUR1_FIELD
FieldPosition and UFieldPosition selector for 'h' field alignment, corresponding to the UCAL_HOUR fie...
Definition udat.h:615
@ UDAT_YEAR_NAME_FIELD
FieldPosition selector for "U" field alignment, corresponding to cyclic year names.
Definition udat.h:731
@ UDAT_AM_PM_MIDNIGHT_NOON_FIELD
FieldPosition selector for 'b' field alignment.
Definition udat.h:772
@ UDAT_MINUTE_FIELD
FieldPosition and UFieldPosition selector for 'm' field alignment, corresponding to the UCAL_MINUTE f...
Definition udat.h:542
@ UDAT_TIMEZONE_GENERIC_FIELD
FieldPosition and UFieldPosition selector for 'v' field alignment, corresponding to the UCAL_ZONE_OFF...
Definition udat.h:682
@ UDAT_HOUR0_FIELD
FieldPosition and UFieldPosition selector for 'K' field alignment, corresponding to the UCAL_HOUR fie...
Definition udat.h:624
@ UDAT_YEAR_WOY_FIELD
FieldPosition and UFieldPosition selector for 'Y' field alignment, corresponding to the UCAL_YEAR_WOY...
Definition udat.h:639
@ UDAT_WEEK_OF_YEAR_FIELD
FieldPosition and UFieldPosition selector for 'w' field alignment, corresponding to the UCAL_WEEK_OF_...
Definition udat.h:592
@ UDAT_TIMEZONE_ISO_FIELD
FieldPosition selector for 'X' field alignment, corresponding to the UCAL_ZONE_OFFSET and UCAL_DST_OF...
Definition udat.h:747
@ UDAT_HOUR_OF_DAY0_FIELD
FieldPosition and UFieldPosition selector for 'H' field alignment, corresponding to the UCAL_HOUR_OF_...
Definition udat.h:535
@ UDAT_STANDALONE_MONTH_FIELD
FieldPosition selector for 'L' field alignment, corresponding to the UCAL_MONTH field.
Definition udat.h:697
@ UDAT_HOUR_OF_DAY1_FIELD
FieldPosition and UFieldPosition selector for 'k' field alignment, corresponding to the UCAL_HOUR_OF_...
Definition udat.h:526
UDateFormatStyle
The possible date/time format styles.
Definition udat.h:158
@ UDAT_PATTERN
Use the pattern given in the parameter to udat_open.
Definition udat.h:190
@ UDAT_RELATIVE
Bitfield for relative date.
Definition udat.h:171
@ UDAT_DEFAULT
Default style.
Definition udat.h:168
@ UDAT_IGNORE
Definition udat.h:194
@ UDAT_SHORT
Short style.
Definition udat.h:166
@ UDAT_FULL
Full style.
Definition udat.h:160
@ UDAT_LONG
Long style.
Definition udat.h:162
@ UDAT_MEDIUM
Medium style.
Definition udat.h:164
@ UDAT_NONE
No style.
Definition udat.h:183
U_CAPI UBool udat_getBooleanAttribute(const UDateFormat *fmt, UDateFormatBooleanAttribute attr, UErrorCode *status)
Get a boolean attribute associated with a UDateFormat.
U_CAPI int32_t udat_formatCalendarForFields(const UDateFormat *format, UCalendar *calendar, UChar *result, int32_t capacity, UFieldPositionIterator *fpositer, UErrorCode *status)
Format a date using a UDateFormat.
U_CAPI const UCalendar * udat_getCalendar(const UDateFormat *fmt)
Get the UCalendar associated with an UDateFormat.
U_CAPI void udat_applyPattern(UDateFormat *format, UBool localized, const UChar *pattern, int32_t patternLength)
Set the pattern used by an UDateFormat.
UDateFormatBooleanAttribute
DateFormat boolean attributes.
Definition udat.h:878
@ UDAT_PARSE_ALLOW_WHITESPACE
indicates whether whitespace is allowed.
Definition udat.h:883
@ UDAT_PARSE_MULTIPLE_PATTERNS_FOR_MATCH
indicates tolerance of pattern mismatch between input data and specified format pattern.
Definition udat.h:901
@ UDAT_BOOLEAN_ATTRIBUTE_COUNT
One more than the highest normal UDateFormatBooleanAttribute value.
Definition udat.h:909
@ UDAT_PARSE_PARTIAL_LITERAL_MATCH
indicates tolerance of a partial literal match e.g.
Definition udat.h:895
@ UDAT_PARSE_ALLOW_NUMERIC
indicates tolerance of numeric data when String data may be assumed.
Definition udat.h:889
C API: Display context types (enum values)
UDisplayContextType
Display context types, for getting values of a particular setting.
UDisplayContext
Display context settings.
C API: UFieldPositionIterator for use with format APIs.
struct UFieldPositionIterator UFieldPositionIterator
C typedef for struct UFieldPositionIterator.
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested,...
Definition uloc.h:338
#define U_INTERNAL
This is used to declare a function as an internal ICU C API
Definition umachine.h:119
int8_t UBool
The ICU boolean type.
Definition umachine.h:236
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition umachine.h:109
uint16_t UChar
The base type for UTF-16 code units and pointers.
Definition umachine.h:353
C API: Compatibility APIs for number formatting.
void * UNumberFormat
A number formatter.
Definition unum.h:141
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
Definition utypes.h:396
#define U_HIDE_INTERNAL_API
Define this to 1 to request that internal API be "hidden".
Definition utypes.h:87
double UDate
Date and Time data type.
Definition utypes.h:203
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition uversion.h:138
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition uversion.h:137