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

udat.h

Go to the documentation of this file.
00001 /*
00002 *******************************************************************************
00003 * Copyright (C) 1996-2003, 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 
00179 U_CAPI UDateFormat* U_EXPORT2 
00180 udat_open(UDateFormatStyle  timeStyle,
00181           UDateFormatStyle  dateStyle,
00182           const char        *locale,
00183           const UChar       *tzID,
00184           int32_t           tzIDLength,
00185           const UChar       *pattern,
00186           int32_t           patternLength,
00187           UErrorCode        *status);
00188 
00189 
00196 U_CAPI void U_EXPORT2 
00197 udat_close(UDateFormat* format);
00198 
00207 U_CAPI UDateFormat* U_EXPORT2 
00208 udat_clone(const UDateFormat *fmt,
00209        UErrorCode *status);
00210 
00229 U_CAPI int32_t U_EXPORT2 
00230 udat_format(    const    UDateFormat*    format,
00231                         UDate           dateToFormat,
00232                         UChar*          result,
00233                         int32_t         resultLength,
00234                         UFieldPosition* position,
00235                         UErrorCode*     status);
00236 
00250 U_CAPI UDate U_EXPORT2 
00251 udat_parse(    const    UDateFormat*    format,
00252             const    UChar*          text,
00253                     int32_t         textLength,
00254                     int32_t         *parsePos,
00255                     UErrorCode      *status);
00256 
00270 U_CAPI void U_EXPORT2 
00271 udat_parseCalendar(const    UDateFormat*    format,
00272                             UCalendar*      calendar,
00273                    const    UChar*          text,
00274                             int32_t         textLength,
00275                             int32_t         *parsePos,
00276                             UErrorCode      *status);
00277 
00287 U_CAPI UBool U_EXPORT2 
00288 udat_isLenient(const UDateFormat* fmt);
00289 
00299 U_CAPI void U_EXPORT2 
00300 udat_setLenient(    UDateFormat*    fmt,
00301                     UBool          isLenient);
00302 
00312 U_CAPI const UCalendar* U_EXPORT2 
00313 udat_getCalendar(const UDateFormat* fmt);
00314 
00324 U_CAPI void U_EXPORT2 
00325 udat_setCalendar(            UDateFormat*    fmt,
00326                     const   UCalendar*      calendarToSet);
00327 
00337 U_CAPI const UNumberFormat* U_EXPORT2 
00338 udat_getNumberFormat(const UDateFormat* fmt);
00339 
00349 U_CAPI void U_EXPORT2 
00350 udat_setNumberFormat(            UDateFormat*    fmt,
00351                         const   UNumberFormat*  numberFormatToSet);
00352 
00362 U_CAPI const char* U_EXPORT2 
00363 udat_getAvailable(int32_t index);
00364 
00373 U_CAPI int32_t U_EXPORT2 
00374 udat_countAvailable(void);
00375 
00386 U_CAPI UDate U_EXPORT2 
00387 udat_get2DigitYearStart(    const   UDateFormat     *fmt,
00388                                     UErrorCode      *status);
00389 
00400 U_CAPI void U_EXPORT2 
00401 udat_set2DigitYearStart(    UDateFormat     *fmt,
00402                             UDate           d,
00403                             UErrorCode      *status);
00404 
00417 U_CAPI int32_t U_EXPORT2 
00418 udat_toPattern(    const   UDateFormat     *fmt,
00419                         UBool          localized,
00420                         UChar           *result,
00421                         int32_t         resultLength,
00422                         UErrorCode      *status);
00423 
00434 U_CAPI void U_EXPORT2 
00435 udat_applyPattern(            UDateFormat     *format,
00436                             UBool          localized,
00437                     const   UChar           *pattern,
00438                             int32_t         patternLength);
00439 
00444 typedef enum UDateFormatSymbolType {
00446     UDAT_ERAS,
00448     UDAT_MONTHS,
00450     UDAT_SHORT_MONTHS,
00452     UDAT_WEEKDAYS,
00454     UDAT_SHORT_WEEKDAYS,
00456     UDAT_AM_PMS,
00458     UDAT_LOCALIZED_CHARS
00459 } UDateFormatSymbolType;
00460 
00461 struct UDateFormatSymbols;
00466 typedef struct UDateFormatSymbols UDateFormatSymbols;
00467 
00484 U_CAPI int32_t U_EXPORT2 
00485 udat_getSymbols(const   UDateFormat             *fmt,
00486                         UDateFormatSymbolType   type,
00487                         int32_t                 index,
00488                         UChar                   *result,
00489                         int32_t                 resultLength,
00490                         UErrorCode              *status);
00491 
00504 U_CAPI int32_t U_EXPORT2 
00505 udat_countSymbols(    const    UDateFormat                *fmt,
00506                             UDateFormatSymbolType    type);
00507 
00523 U_CAPI void U_EXPORT2 
00524 udat_setSymbols(    UDateFormat             *format,
00525                     UDateFormatSymbolType   type,
00526                     int32_t                 index,
00527                     UChar                   *value,
00528                     int32_t                 valueLength,
00529                     UErrorCode              *status);
00530 
00540 U_CAPI const char* U_EXPORT2
00541 udat_getLocaleByType(const UDateFormat *fmt,
00542                      ULocDataLocaleType type,
00543                      UErrorCode* status); 
00544 
00545 #endif /* #if !UCONFIG_NO_FORMATTING */
00546 
00547 #endif

Generated on Tue Oct 26 18:11:09 2004 for ICU 2.8 by  doxygen 1.3.9.1