Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals

udat.h

Go to the documentation of this file.
00001 /*
00002 *******************************************************************************
00003 * Copyright (C) 1996-2004, International Business Machines Corporation and others. All Rights Reserved.
00004 *******************************************************************************
00005 */
00006 
00007 #ifndef UDAT_H
00008 #define UDAT_H
00009 
00010 #include "unicode/utypes.h"
00011 
00012 #if !UCONFIG_NO_FORMATTING
00013 
00014 #include "unicode/ucal.h"
00015 #include "unicode/unum.h"
00137 typedef void* UDateFormat;
00138 
00142 typedef enum UDateFormatStyle {
00144     UDAT_FULL,
00146     UDAT_LONG,
00148     UDAT_MEDIUM,
00150     UDAT_SHORT,
00152     UDAT_DEFAULT = UDAT_MEDIUM,
00154     UDAT_NONE = -1,
00156     UDAT_IGNORE = -2
00157 
00158 } UDateFormatStyle;
00159 
00165 typedef enum UDateFormatField {
00171     UDAT_ERA_FIELD = 0,
00172 
00178     UDAT_YEAR_FIELD = 1,
00179 
00185     UDAT_MONTH_FIELD = 2,
00186 
00192     UDAT_DATE_FIELD = 3,
00193 
00201     UDAT_HOUR_OF_DAY1_FIELD = 4,
00202 
00210     UDAT_HOUR_OF_DAY0_FIELD = 5,
00211 
00217     UDAT_MINUTE_FIELD = 6,
00218 
00224     UDAT_SECOND_FIELD = 7,
00225 
00231     UDAT_FRACTIONAL_SECOND_FIELD = 8,
00232 
00238     UDAT_DAY_OF_WEEK_FIELD = 9,
00239 
00245     UDAT_DAY_OF_YEAR_FIELD = 10,
00246 
00252     UDAT_DAY_OF_WEEK_IN_MONTH_FIELD = 11,
00253 
00259     UDAT_WEEK_OF_YEAR_FIELD = 12,
00260 
00266     UDAT_WEEK_OF_MONTH_FIELD = 13,
00267 
00273     UDAT_AM_PM_FIELD = 14,
00274 
00282     UDAT_HOUR1_FIELD = 15,
00283 
00291     UDAT_HOUR0_FIELD = 16,
00292 
00299     UDAT_TIMEZONE_FIELD = 17,
00300 
00306     UDAT_YEAR_WOY_FIELD = 18,
00307 
00313     UDAT_DOW_LOCAL_FIELD = 19,
00314 
00320     UDAT_EXTENDED_YEAR_FIELD = 20,
00321 
00327     UDAT_JULIAN_DAY_FIELD = 21,
00328 
00334     UDAT_MILLISECONDS_IN_DAY_FIELD = 22,
00335 
00342     UDAT_TIMEZONE_RFC_FIELD = 23,
00343 
00352     UDAT_FIELD_COUNT = 24
00353 
00354 } UDateFormatField;
00355 
00375 U_STABLE UDateFormat* U_EXPORT2 
00376 udat_open(UDateFormatStyle  timeStyle,
00377           UDateFormatStyle  dateStyle,
00378           const char        *locale,
00379           const UChar       *tzID,
00380           int32_t           tzIDLength,
00381           const UChar       *pattern,
00382           int32_t           patternLength,
00383           UErrorCode        *status);
00384 
00385 
00392 U_STABLE void U_EXPORT2 
00393 udat_close(UDateFormat* format);
00394 
00403 U_STABLE UDateFormat* U_EXPORT2 
00404 udat_clone(const UDateFormat *fmt,
00405        UErrorCode *status);
00406 
00425 U_STABLE int32_t U_EXPORT2 
00426 udat_format(    const    UDateFormat*    format,
00427                         UDate           dateToFormat,
00428                         UChar*          result,
00429                         int32_t         resultLength,
00430                         UFieldPosition* position,
00431                         UErrorCode*     status);
00432 
00446 U_STABLE UDate U_EXPORT2 
00447 udat_parse(    const    UDateFormat*    format,
00448             const    UChar*          text,
00449                     int32_t         textLength,
00450                     int32_t         *parsePos,
00451                     UErrorCode      *status);
00452 
00466 U_STABLE void U_EXPORT2 
00467 udat_parseCalendar(const    UDateFormat*    format,
00468                             UCalendar*      calendar,
00469                    const    UChar*          text,
00470                             int32_t         textLength,
00471                             int32_t         *parsePos,
00472                             UErrorCode      *status);
00473 
00483 U_STABLE UBool U_EXPORT2 
00484 udat_isLenient(const UDateFormat* fmt);
00485 
00495 U_STABLE void U_EXPORT2 
00496 udat_setLenient(    UDateFormat*    fmt,
00497                     UBool          isLenient);
00498 
00508 U_STABLE const UCalendar* U_EXPORT2 
00509 udat_getCalendar(const UDateFormat* fmt);
00510 
00520 U_STABLE void U_EXPORT2 
00521 udat_setCalendar(            UDateFormat*    fmt,
00522                     const   UCalendar*      calendarToSet);
00523 
00533 U_STABLE const UNumberFormat* U_EXPORT2 
00534 udat_getNumberFormat(const UDateFormat* fmt);
00535 
00545 U_STABLE void U_EXPORT2 
00546 udat_setNumberFormat(            UDateFormat*    fmt,
00547                         const   UNumberFormat*  numberFormatToSet);
00548 
00558 U_STABLE const char* U_EXPORT2 
00559 udat_getAvailable(int32_t index);
00560 
00569 U_STABLE int32_t U_EXPORT2 
00570 udat_countAvailable(void);
00571 
00582 U_STABLE UDate U_EXPORT2 
00583 udat_get2DigitYearStart(    const   UDateFormat     *fmt,
00584                                     UErrorCode      *status);
00585 
00596 U_STABLE void U_EXPORT2 
00597 udat_set2DigitYearStart(    UDateFormat     *fmt,
00598                             UDate           d,
00599                             UErrorCode      *status);
00600 
00613 U_STABLE int32_t U_EXPORT2 
00614 udat_toPattern(    const   UDateFormat     *fmt,
00615                         UBool          localized,
00616                         UChar           *result,
00617                         int32_t         resultLength,
00618                         UErrorCode      *status);
00619 
00630 U_STABLE void U_EXPORT2 
00631 udat_applyPattern(            UDateFormat     *format,
00632                             UBool          localized,
00633                     const   UChar           *pattern,
00634                             int32_t         patternLength);
00635 
00640 typedef enum UDateFormatSymbolType {
00642     UDAT_ERAS,
00644     UDAT_MONTHS,
00646     UDAT_SHORT_MONTHS,
00648     UDAT_WEEKDAYS,
00650     UDAT_SHORT_WEEKDAYS,
00652     UDAT_AM_PMS,
00654     UDAT_LOCALIZED_CHARS
00655 } UDateFormatSymbolType;
00656 
00657 struct UDateFormatSymbols;
00662 typedef struct UDateFormatSymbols UDateFormatSymbols;
00663 
00680 U_STABLE int32_t U_EXPORT2 
00681 udat_getSymbols(const   UDateFormat             *fmt,
00682                         UDateFormatSymbolType   type,
00683                         int32_t                 index,
00684                         UChar                   *result,
00685                         int32_t                 resultLength,
00686                         UErrorCode              *status);
00687 
00700 U_STABLE int32_t U_EXPORT2 
00701 udat_countSymbols(    const    UDateFormat                *fmt,
00702                             UDateFormatSymbolType    type);
00703 
00719 U_STABLE void U_EXPORT2 
00720 udat_setSymbols(    UDateFormat             *format,
00721                     UDateFormatSymbolType   type,
00722                     int32_t                 index,
00723                     UChar                   *value,
00724                     int32_t                 valueLength,
00725                     UErrorCode              *status);
00726 
00736 U_DRAFT const char* U_EXPORT2
00737 udat_getLocaleByType(const UDateFormat *fmt,
00738                      ULocDataLocaleType type,
00739                      UErrorCode* status); 
00740 
00741 #endif /* #if !UCONFIG_NO_FORMATTING */
00742 
00743 #endif

Generated on Tue Jul 26 00:40:01 2005 for ICU 3.2 by  doxygen 1.3.9.1