ICU 67.1  67.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 
17 #include "unicode/localpointer.h"
18 #include "unicode/ucal.h"
19 #include "unicode/unum.h"
21 #include "unicode/ufieldpositer.h"
153 typedef void* UDateFormat;
154 
158 typedef 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 
183  UDAT_NONE = -1,
184 
191 
192 #ifndef U_HIDE_INTERNAL_API
195 #endif /* U_HIDE_INTERNAL_API */
197 
198 /* Skeletons for dates. */
199 
204 #define UDAT_YEAR "y"
205 
209 #define UDAT_QUARTER "QQQQ"
210 
214 #define UDAT_ABBR_QUARTER "QQQ"
215 
219 #define UDAT_YEAR_QUARTER "yQQQQ"
220 
224 #define UDAT_YEAR_ABBR_QUARTER "yQQQ"
225 
229 #define UDAT_MONTH "MMMM"
230 
234 #define UDAT_ABBR_MONTH "MMM"
235 
239 #define UDAT_NUM_MONTH "M"
240 
244 #define UDAT_YEAR_MONTH "yMMMM"
245 
249 #define UDAT_YEAR_ABBR_MONTH "yMMM"
250 
254 #define UDAT_YEAR_NUM_MONTH "yM"
255 
259 #define UDAT_DAY "d"
260 
265 #define UDAT_YEAR_MONTH_DAY "yMMMMd"
266 
271 #define UDAT_YEAR_ABBR_MONTH_DAY "yMMMd"
272 
277 #define UDAT_YEAR_NUM_MONTH_DAY "yMd"
278 
282 #define UDAT_WEEKDAY "EEEE"
283 
287 #define UDAT_ABBR_WEEKDAY "E"
288 
293 #define UDAT_YEAR_MONTH_WEEKDAY_DAY "yMMMMEEEEd"
294 
299 #define UDAT_YEAR_ABBR_MONTH_WEEKDAY_DAY "yMMMEd"
300 
305 #define UDAT_YEAR_NUM_MONTH_WEEKDAY_DAY "yMEd"
306 
311 #define UDAT_MONTH_DAY "MMMMd"
312 
317 #define UDAT_ABBR_MONTH_DAY "MMMd"
318 
323 #define UDAT_NUM_MONTH_DAY "Md"
324 
329 #define UDAT_MONTH_WEEKDAY_DAY "MMMMEEEEd"
330 
335 #define UDAT_ABBR_MONTH_WEEKDAY_DAY "MMMEd"
336 
341 #define UDAT_NUM_MONTH_WEEKDAY_DAY "MEd"
342 
343 /* Skeletons for times. */
344 
349 #define UDAT_HOUR "j"
350 
354 #define UDAT_HOUR24 "H"
355 
359 #define UDAT_MINUTE "m"
360 
365 #define UDAT_HOUR_MINUTE "jm"
366 
371 #define UDAT_HOUR24_MINUTE "Hm"
372 
376 #define UDAT_SECOND "s"
377 
383 #define UDAT_HOUR_MINUTE_SECOND "jms"
384 
390 #define UDAT_HOUR24_MINUTE_SECOND "Hms"
391 
396 #define UDAT_MINUTE_SECOND "ms"
397 
398 /* Skeletons for time zones. */
399 
407 #define UDAT_LOCATION_TZ "VVVV"
408 
415 #define UDAT_GENERIC_TZ "vvvv"
416 
423 #define UDAT_ABBR_GENERIC_TZ "v"
424 
431 #define UDAT_SPECIFIC_TZ "zzzz"
432 
439 #define UDAT_ABBR_SPECIFIC_TZ "z"
440 
447 #define UDAT_ABBR_UTC_TZ "ZZZZ"
448 
449 /* deprecated skeleton constants */
450 
451 #ifndef U_HIDE_DEPRECATED_API
452 
456 #define UDAT_STANDALONE_MONTH "LLLL"
457 
461 #define UDAT_ABBR_STANDALONE_MONTH "LLL"
462 
467 #define UDAT_HOUR_MINUTE_GENERIC_TZ "jmv"
468 
472 #define UDAT_HOUR_MINUTE_TZ "jmz"
473 
477 #define UDAT_HOUR_GENERIC_TZ "jv"
478 
482 #define UDAT_HOUR_TZ "jz"
483 #endif /* U_HIDE_DEPRECATED_API */
484 
485 #ifndef U_HIDE_INTERNAL_API
486 
491 #define JP_ERA_2019_ROOT "Reiwa"
492 
497 #define JP_ERA_2019_JA "\\u4EE4\\u548C"
498 
503 #define JP_ERA_2019_NARROW "R"
504 #endif // U_HIDE_INTERNAL_API
505 
511 typedef enum UDateFormatField {
518 
525 
532 
539 
548 
557 
564 
571 
586 
593 
600 
607 
614 
621 
628 
637 
646 
654 
661 
668 
675 
682 
689 
697 
711 
719 
728 
737 
744 
753 
761 
769 
777 
778 #ifndef U_HIDE_INTERNAL_API
779 
785 #endif /* U_HIDE_INTERNAL_API */
786 
794 
795  /* FieldPosition selector for 'B' field alignment.
796  * Displays flexible day periods, such as "in the morning", if available.
797  * @stable ICU 57
798  */
799  UDAT_FLEXIBLE_DAY_PERIOD_FIELD = 36,
800 
801 #ifndef U_HIDE_INTERNAL_API
802 
809 #endif /* U_HIDE_INTERNAL_API */
810 
811 #ifndef U_HIDE_DEPRECATED_API
812 
819 #endif /* U_HIDE_DEPRECATED_API */
821 
822 
823 #ifndef U_HIDE_INTERNAL_API
824 
829 #define UDAT_HAS_PATTERN_CHAR_FOR_TIME_SEPARATOR 0
830 #endif /* U_HIDE_INTERNAL_API */
831 
832 
841 U_CAPI UCalendarDateFields U_EXPORT2
843 
844 
873 U_CAPI UDateFormat* U_EXPORT2
874 udat_open(UDateFormatStyle timeStyle,
875  UDateFormatStyle dateStyle,
876  const char *locale,
877  const UChar *tzID,
878  int32_t tzIDLength,
879  const UChar *pattern,
880  int32_t patternLength,
881  UErrorCode *status);
882 
883 
890 U_CAPI void U_EXPORT2
891 udat_close(UDateFormat* format);
892 
893 
923 
924  /* Do not conditionalize the following with #ifndef U_HIDE_DEPRECATED_API,
925  * it is needed for layout of DateFormat object. */
926 #ifndef U_FORCE_HIDE_DEPRECATED_API
927 
932 #endif // U_FORCE_HIDE_DEPRECATED_API
934 
945 U_CAPI UBool U_EXPORT2
947 
958 U_CAPI void U_EXPORT2
960 
961 #ifndef U_HIDE_DRAFT_API
962 
966 typedef enum UDateFormatHourCycle {
972 
978 
984 
991 #endif /* U_HIDE_DRAFT_API */
992 
993 #if U_SHOW_CPLUSPLUS_API
994 
995 U_NAMESPACE_BEGIN
996 
1007 
1008 U_NAMESPACE_END
1009 
1010 #endif
1011 
1020 U_CAPI UDateFormat* U_EXPORT2
1021 udat_clone(const UDateFormat *fmt,
1022  UErrorCode *status);
1023 
1042 U_CAPI int32_t U_EXPORT2
1043 udat_format( const UDateFormat* format,
1044  UDate dateToFormat,
1045  UChar* result,
1046  int32_t resultLength,
1047  UFieldPosition* position,
1048  UErrorCode* status);
1049 
1072 U_CAPI int32_t U_EXPORT2
1073 udat_formatCalendar( const UDateFormat* format,
1074  UCalendar* calendar,
1075  UChar* result,
1076  int32_t capacity,
1077  UFieldPosition* position,
1078  UErrorCode* status);
1079 
1107 U_CAPI int32_t U_EXPORT2
1108 udat_formatForFields( const UDateFormat* format,
1109  UDate dateToFormat,
1110  UChar* result,
1111  int32_t resultLength,
1112  UFieldPositionIterator* fpositer,
1113  UErrorCode* status);
1114 
1145 U_CAPI int32_t U_EXPORT2
1147  UCalendar* calendar,
1148  UChar* result,
1149  int32_t capacity,
1150  UFieldPositionIterator* fpositer,
1151  UErrorCode* status);
1152 
1153 
1179 U_CAPI UDate U_EXPORT2
1180 udat_parse(const UDateFormat* format,
1181  const UChar* text,
1182  int32_t textLength,
1183  int32_t *parsePos,
1184  UErrorCode *status);
1185 
1207 U_CAPI void U_EXPORT2
1208 udat_parseCalendar(const UDateFormat* format,
1209  UCalendar* calendar,
1210  const UChar* text,
1211  int32_t textLength,
1212  int32_t *parsePos,
1213  UErrorCode *status);
1214 
1224 U_CAPI UBool U_EXPORT2
1225 udat_isLenient(const UDateFormat* fmt);
1226 
1236 U_CAPI void U_EXPORT2
1238  UBool isLenient);
1239 
1249 U_CAPI const UCalendar* U_EXPORT2
1250 udat_getCalendar(const UDateFormat* fmt);
1251 
1261 U_CAPI void U_EXPORT2
1263  const UCalendar* calendarToSet);
1264 
1274 U_CAPI const UNumberFormat* U_EXPORT2
1275 udat_getNumberFormat(const UDateFormat* fmt);
1276 
1286 U_CAPI const UNumberFormat* U_EXPORT2
1288 
1304 U_CAPI void U_EXPORT2
1306  const UChar* fields,
1307  UNumberFormat* numberFormatToSet,
1308  UErrorCode* status);
1321 U_CAPI void U_EXPORT2
1323  const UNumberFormat* numberFormatToSet);
1333 U_CAPI void U_EXPORT2
1335  UNumberFormat* numberFormatToAdopt);
1345 U_CAPI const char* U_EXPORT2
1346 udat_getAvailable(int32_t localeIndex);
1347 
1356 U_CAPI int32_t U_EXPORT2
1357 udat_countAvailable(void);
1358 
1369 U_CAPI UDate U_EXPORT2
1371  UErrorCode *status);
1372 
1383 U_CAPI void U_EXPORT2
1385  UDate d,
1386  UErrorCode *status);
1387 
1400 U_CAPI int32_t U_EXPORT2
1401 udat_toPattern( const UDateFormat *fmt,
1402  UBool localized,
1403  UChar *result,
1404  int32_t resultLength,
1405  UErrorCode *status);
1406 
1417 U_CAPI void U_EXPORT2
1419  UBool localized,
1420  const UChar *pattern,
1421  int32_t patternLength);
1422 
1453  UDAT_STANDALONE_SHORT_MONTHS,
1454  UDAT_STANDALONE_NARROW_MONTHS,
1470  UDAT_STANDALONE_SHORT_QUARTERS,
1519 
1520 struct UDateFormatSymbols;
1526 
1543 U_CAPI int32_t U_EXPORT2
1544 udat_getSymbols(const UDateFormat *fmt,
1545  UDateFormatSymbolType type,
1546  int32_t symbolIndex,
1547  UChar *result,
1548  int32_t resultLength,
1549  UErrorCode *status);
1550 
1563 U_CAPI int32_t U_EXPORT2
1564 udat_countSymbols( const UDateFormat *fmt,
1565  UDateFormatSymbolType type);
1566 
1582 U_CAPI void U_EXPORT2
1583 udat_setSymbols( UDateFormat *format,
1584  UDateFormatSymbolType type,
1585  int32_t symbolIndex,
1586  UChar *value,
1587  int32_t valueLength,
1588  UErrorCode *status);
1589 
1599 U_CAPI const char* U_EXPORT2
1601  ULocDataLocaleType type,
1602  UErrorCode* status);
1603 
1612 U_CAPI void U_EXPORT2
1614 
1624 U_CAPI UDisplayContext U_EXPORT2
1625 udat_getContext(const UDateFormat* fmt, UDisplayContextType type, UErrorCode* status);
1626 
1627 #ifndef U_HIDE_INTERNAL_API
1628 
1639 U_INTERNAL int32_t U_EXPORT2
1641  UChar *result,
1642  int32_t resultLength,
1643  UErrorCode *status);
1644 
1656 U_INTERNAL int32_t U_EXPORT2
1658  UChar *result,
1659  int32_t resultLength,
1660  UErrorCode *status);
1661 
1674 U_INTERNAL void U_EXPORT2
1676  const UChar *datePattern,
1677  int32_t datePatternLength,
1678  const UChar *timePattern,
1679  int32_t timePatternLength,
1680  UErrorCode *status);
1681 
1686 typedef UDateFormat* (U_EXPORT2 *UDateFormatOpener) (UDateFormatStyle timeStyle,
1687  UDateFormatStyle dateStyle,
1688  const char *locale,
1689  const UChar *tzID,
1690  int32_t tzIDLength,
1691  const UChar *pattern,
1692  int32_t patternLength,
1693  UErrorCode *status);
1694 
1699 U_INTERNAL void U_EXPORT2
1701 
1706 U_INTERNAL UDateFormatOpener U_EXPORT2
1708 #endif /* U_HIDE_INTERNAL_API */
1709 
1710 
1711 #endif /* #if !UCONFIG_NO_FORMATTING */
1712 
1713 #endif
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...
void * UCalendar
A calendar.
Definition: ucal.h:169
FieldPosition and UFieldPosition selector for &#39;w&#39; field alignment, corresponding to the UCAL_WEEK_OF_...
Definition: udat.h:613
FieldPosition selector for &#39;b&#39; field alignment.
Definition: udat.h:793
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.
Hour in day (1~24)
Definition: udat.h:989
FieldPosition and UFieldPosition selector for &#39;e&#39; field alignment, corresponding to the UCAL_DOW_LOCA...
Definition: udat.h:667
The CLDR-style short weekday names, e.g.
Definition: udat.h:1478
U_CAPI void udat_applyPattern(UDateFormat *format, UBool localized, const UChar *pattern, int32_t patternLength)
Set the pattern used by an UDateFormat.
Standalone context versions of months.
Definition: udat.h:1452
UCalendarDateFields
Possible fields in a UCalendar.
Definition: ucal.h:199
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.
indicates tolerance of a partial literal match e.g.
Definition: udat.h:916
The localized characters.
Definition: udat.h:1444
FieldPosition and UFieldPosition selector for &#39;V&#39; field alignment, corresponding to the UCAL_ZONE_OFF...
Definition: udat.h:743
The CLDR-style format "narrow" weekday names, for example "M".
Definition: udat.h:1450
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:109
FieldPosition selector for "Q" field alignment, corresponding to quarters.
Definition: udat.h:727
C API: Calendar.
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.
FieldPosition and UFieldPosition selector for &#39;M&#39; field alignment, corresponding to the UCAL_MONTH fi...
Definition: udat.h:531
U_CAPI const char * udat_getLocaleByType(const UDateFormat *fmt, ULocDataLocaleType type, UErrorCode *status)
Get the locale for this date format object.
U_CAPI int32_t udat_countSymbols(const UDateFormat *fmt, UDateFormatSymbolType type)
Count the number of particular symbols for an UDateFormat.
FieldPosition and UFieldPosition selector for &#39;k&#39; field alignment, corresponding to the UCAL_HOUR_OF_...
Definition: udat.h:547
The long era names, for example Anno Domini.
Definition: udat.h:1446
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.
Calendar zodiac names (only supported for some calendars, and only for FORMAT usage; udat_setSymbols ...
Definition: udat.h:1517
Short style.
Definition: udat.h:166
The quarters, for example 1st Quarter.
Definition: udat.h:1465
void udat_registerOpener(UDateFormatOpener opener, UErrorCode *status)
Register a provider factory.
UDisplayContext
Display context settings.
double UDate
Date and Time data type.
Definition: utypes.h:203
No style.
Definition: udat.h:183
The CLDR-style stand-alone "wide" weekday names.
Definition: udat.h:1456
Long style.
Definition: udat.h:162
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.
FieldPosition selector for &#39;X&#39; field alignment, corresponding to the UCAL_ZONE_OFFSET and UCAL_DST_OF...
Definition: udat.h:768
UDateFormatHourCycle
Hour Cycle.
Definition: udat.h:966
struct UFieldPositionIterator UFieldPositionIterator
C typedef for struct UFieldPositionIterator.
Definition: ufieldpositer.h:44
The short month names, for example Feb.
Definition: udat.h:1433
#define U_INTERNAL
This is used to declare a function as an internal ICU C API.
Definition: umachine.h:119
U_CAPI const UCalendar * udat_getCalendar(const UDateFormat *fmt)
Get the UCalendar associated with an UDateFormat.
U_CAPI int32_t udat_countAvailable(void)
Determine how many locales have date/time formatting patterns available.
Use the pattern given in the parameter to udat_open.
Definition: udat.h:190
Default style.
Definition: udat.h:168
One more than the highest normal UDateFormatBooleanAttribute value.
Definition: udat.h:931
#define U_HIDE_INTERNAL_API
Define this to 1 to request that internal API be "hidden".
Definition: utypes.h:87
C API: Display context types (enum values)
FieldPosition and UFieldPosition selector for &#39;g&#39; field alignment, corresponding to the UCAL_JULIAN_D...
Definition: udat.h:681
indicates tolerance of numeric data when String data may be assumed.
Definition: udat.h:910
Bitfield for relative date.
Definition: udat.h:171
FieldPosition and UFieldPosition selector for &#39;D&#39; field alignment, corresponding to the UCAL_DAY_OF_Y...
Definition: udat.h:599
FieldPosition selector for the "q" field alignment, corresponding to stand-alone quarters.
Definition: udat.h:736
FieldPosition and UFieldPosition selector for &#39;u&#39; field alignment, corresponding to the UCAL_EXTENDED...
Definition: udat.h:674
FieldPosition and UFieldPosition selector for &#39;r&#39; field alignment, no directly corresponding UCAL_ fi...
Definition: udat.h:784
Hour in am/pm (1~12)
Definition: udat.h:977
FieldPosition selector for &#39;c&#39; field alignment, corresponding to the UCAL_DOW_LOCAL field...
Definition: udat.h:710
FieldPosition and UFieldPosition selector for &#39;d&#39; field alignment, corresponding to the UCAL_DATE fie...
Definition: udat.h:538
indicates tolerance of pattern mismatch between input data and specified format pattern.
Definition: udat.h:922
Full style.
Definition: udat.h:160
FieldPosition and UFieldPosition selector for time separator, no corresponding UCAL_ field...
Definition: udat.h:808
FieldPosition and UFieldPosition selector for &#39;Y&#39; field alignment, corresponding to the UCAL_YEAR_WOY...
Definition: udat.h:660
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:1686
FieldPosition and UFieldPosition selector for &#39;F&#39; field alignment, corresponding to the UCAL_DAY_OF_W...
Definition: udat.h:606
UDateFormatSymbolType
The possible types of date format symbols.
Definition: udat.h:1427
The CLDR-style stand-alone "narrow" weekday names.
Definition: udat.h:1463
U_CAPI void udat_setNumberFormat(UDateFormat *fmt, const UNumberFormat *numberFormatToSet)
Set the UNumberFormat associated with an UDateFormat.
The month names, for example February.
Definition: udat.h:1431
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:550
void * UNumberFormat
A number formatter.
Definition: unum.h:141
A struct representing a range of text containing a specific field.
Definition: umisc.h:34
FieldPosition selector for &#39;O&#39; field alignment, corresponding to the UCAL_ZONE_OFFSET and UCAL_DST_OF...
Definition: udat.h:760
FieldPosition and UFieldPosition selector for &#39;A&#39; field alignment, corresponding to the UCAL_MILLISEC...
Definition: udat.h:688
indicates whether whitespace is allowed.
Definition: udat.h:904
U_CAPI UCalendarDateFields udat_toCalendarDateField(UDateFormatField field)
Maps from a UDateFormatField to the corresponding UCalendarDateFields.
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
U_CAPI void udat_adoptNumberFormat(UDateFormat *fmt, UNumberFormat *numberFormatToAdopt)
Adopt the UNumberFormat associated with an UDateFormat.
U_CAPI const char * udat_getAvailable(int32_t localeIndex)
Get a locale for which date/time formatting patterns are available.
void * UDateFormat
A date formatter.
Definition: udat.h:153
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_toPattern(const UDateFormat *fmt, UBool localized, UChar *result, int32_t resultLength, UErrorCode *status)
Extract the pattern from a UDateFormat.
FieldPosition and UFieldPosition selector for &#39;v&#39; field alignment, corresponding to the UCAL_ZONE_OFF...
Definition: udat.h:703
U_CAPI UBool udat_isLenient(const UDateFormat *fmt)
Determine if an UDateFormat will perform lenient parsing.
The era names, for example AD.
Definition: udat.h:1429
Cyclic year names (only supported for some calendars, and only for FORMAT usage; udat_setSymbols not ...
Definition: udat.h:1489
FieldPosition and UFieldPosition selector for &#39;W&#39; field alignment, corresponding to the UCAL_WEEK_OF_...
Definition: udat.h:620
The CLDR-style format "wide" weekday names, for example Monday.
Definition: udat.h:1435
struct UDateFormatSymbols UDateFormatSymbols
Date format symbols.
Definition: udat.h:1525
UDateFormatStyle
The possible date/time format styles.
Definition: udat.h:158
Calendar zodiac names (only supported for some calendars, and only for FORMAT usage; udat_setSymbols ...
Definition: udat.h:1506
FieldPosition and UFieldPosition selector for &#39;E&#39; field alignment, corresponding to the UCAL_DAY_OF_W...
Definition: udat.h:592
FieldPosition and UFieldPosition selector for &#39;a&#39; field alignment, corresponding to the UCAL_AM_PM fi...
Definition: udat.h:627
"Smart pointer" class, closes a UDateFormat via udat_close().
The short quarter names, for example Q1.
Definition: udat.h:1467
Cyclic year names (only supported for some calendars, and only for FORMAT usage; udat_setSymbols not ...
Definition: udat.h:1500
FieldPosition and UFieldPosition selector for &#39;K&#39; field alignment, corresponding to the UCAL_HOUR fie...
Definition: udat.h:645
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.
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition: umachine.h:376
U_CAPI void udat_setLenient(UDateFormat *fmt, UBool isLenient)
Specify whether an UDateFormat will perform lenient parsing.
U_CAPI UDate udat_get2DigitYearStart(const UDateFormat *fmt, UErrorCode *status)
Get the year relative to which all 2-digit years are interpreted.
UDisplayContextType
Display context types, for getting values of a particular setting.
Standalone context versions of quarters.
Definition: udat.h:1469
UDateFormatField
FieldPosition and UFieldPosition selectors for format fields defined by DateFormat and UDateFormat...
Definition: udat.h:511
FieldPosition and UFieldPosition selector for &#39;G&#39; field alignment, corresponding to the UCAL_ERA fiel...
Definition: udat.h:517
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.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested...
Definition: uloc.h:338
U_CAPI void udat_adoptNumberFormatForFields(UDateFormat *fmt, const UChar *fields, UNumberFormat *numberFormatToSet, UErrorCode *status)
Set the UNumberFormat for specific field associated with an UDateFormat.
FieldPosition and UFieldPosition selector for &#39;m&#39; field alignment, corresponding to the UCAL_MINUTE f...
Definition: udat.h:563
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 UDateFormat * udat_clone(const UDateFormat *fmt, UErrorCode *status)
Open a copy of a UDateFormat.
The CLDR-style stand-alone "abbreviated" (not "short") weekday names.
Definition: udat.h:1461
The narrow month names, for example F.
Definition: udat.h:1448
Cyclic year names (only supported for some calendars, and only for FORMAT usage)
Definition: udat.h:1494
U_CAPI UDisplayContext udat_getContext(const UDateFormat *fmt, UDisplayContextType type, UErrorCode *status)
Get the formatter&#39;s UDisplayContext value for the specified UDisplayContextType, such as UDISPCTX_TYP...
FieldPosition selector for &#39;x&#39; field alignment, corresponding to the UCAL_ZONE_OFFSET and UCAL_DST_OF...
Definition: udat.h:776
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.
C API: UFieldPositionIterator for use with format APIs.
FieldPosition and UFieldPosition selector for &#39;s&#39; field alignment, corresponding to the UCAL_SECOND f...
Definition: udat.h:570
Basic definitions for ICU, for both C and C++ APIs.
The CLDR-style format "abbreviated" (not "short") weekday names, for example "Mon." For the CLDR-style format "short" weekday names, use UDAT_SHORTER_WEEKDAYS.
Definition: udat.h:1440
U_CAPI void udat_close(UDateFormat *format)
Close a UDateFormat.
FieldPosition and UFieldPosition selector for &#39;z&#39; field alignment, corresponding to the UCAL_ZONE_OFF...
Definition: udat.h:653
FieldPosition and UFieldPosition selector for &#39;y&#39; field alignment, corresponding to the UCAL_YEAR fie...
Definition: udat.h:524
FieldPosition selector for &#39;L&#39; field alignment, corresponding to the UCAL_MONTH field.
Definition: udat.h:718
The AM/PM names, for example AM.
Definition: udat.h:1442
U_CAPI const UNumberFormat * udat_getNumberFormat(const UDateFormat *fmt)
Get the UNumberFormat associated with an UDateFormat.
Number of FieldPosition and UFieldPosition selectors for DateFormat and UDateFormat.
Definition: udat.h:818
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.
FieldPosition and UFieldPosition selector for &#39;Z&#39; field alignment, corresponding to the UCAL_ZONE_OFF...
Definition: udat.h:696
Hour in day (0~23)
Definition: udat.h:983
FieldPosition and UFieldPosition selector for &#39;H&#39; field alignment, corresponding to the UCAL_HOUR_OF_...
Definition: udat.h:556
U_CAPI UBool udat_getBooleanAttribute(const UDateFormat *fmt, UDateFormatBooleanAttribute attr, UErrorCode *status)
Get a boolean attribute associated with a UDateFormat.
UDateFormatBooleanAttribute
DateFormat boolean attributes.
Definition: udat.h:899
U_CAPI const UNumberFormat * udat_getNumberFormatForField(const UDateFormat *fmt, UChar field)
Get the UNumberFormat for specific field associated with an UDateFormat.
FieldPosition and UFieldPosition selector for &#39;S&#39; field alignment, corresponding to the UCAL_MILLISEC...
Definition: udat.h:585
FieldPosition and UFieldPosition selector for &#39;h&#39; field alignment, corresponding to the UCAL_HOUR fie...
Definition: udat.h:636
Calendar zodiac names (only supported for some calendars, and only for FORMAT usage) ...
Definition: udat.h:1511
Hour in am/pm (0~11)
Definition: udat.h:971
UDateFormatOpener udat_unregisterOpener(UDateFormatOpener opener, UErrorCode *status)
Un-Register a provider factory.
FieldPosition selector for "U" field alignment, corresponding to cyclic year names.
Definition: udat.h:752
U_CAPI void udat_setBooleanAttribute(UDateFormat *fmt, UDateFormatBooleanAttribute attr, UBool newValue, UErrorCode *status)
Set a boolean attribute associated with a 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.
int8_t UBool
The ICU boolean type.
Definition: umachine.h:261
C API: Compatibility APIs for number formatting.
Medium style.
Definition: udat.h:164
U_CAPI void udat_setCalendar(UDateFormat *fmt, const UCalendar *calendarToSet)
Set the UCalendar associated with an UDateFormat.
Standalone version of UDAT_SHORTER_WEEKDAYS.
Definition: udat.h:1483