ucal.h

Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 1996-2004, International Business Machines Corporation and others. All Rights Reserved. 00003 ******************************************************************************* 00004 */ 00005 00006 #ifndef UCAL_H 00007 #define UCAL_H 00008 00009 #include "unicode/utypes.h" 00010 #include "unicode/uenum.h" 00011 #include "unicode/uloc.h" 00012 00013 #if !UCONFIG_NO_FORMATTING 00014 00144 typedef void* UCalendar; 00145 00149 enum UCalendarType { 00151 UCAL_TRADITIONAL, 00153 UCAL_GREGORIAN 00154 }; 00155 00157 typedef enum UCalendarType UCalendarType; 00158 00162 enum UCalendarDateFields { 00167 UCAL_ERA, 00172 UCAL_YEAR, 00177 UCAL_MONTH, 00182 UCAL_WEEK_OF_YEAR, 00187 UCAL_WEEK_OF_MONTH, 00192 UCAL_DATE, 00197 UCAL_DAY_OF_YEAR, 00202 UCAL_DAY_OF_WEEK, 00207 UCAL_DAY_OF_WEEK_IN_MONTH, 00212 UCAL_AM_PM, 00217 UCAL_HOUR, 00222 UCAL_HOUR_OF_DAY, 00227 UCAL_MINUTE, 00232 UCAL_SECOND, 00237 UCAL_MILLISECOND, 00242 UCAL_ZONE_OFFSET, 00247 UCAL_DST_OFFSET, 00252 UCAL_YEAR_WOY, 00257 #ifndef U_HIDE_DRAFT_API 00258 00259 UCAL_DOW_LOCAL, 00264 UCAL_EXTENDED_YEAR, 00269 UCAL_JULIAN_DAY, 00274 UCAL_MILLISECONDS_IN_DAY, 00275 00276 #endif /* U_HIDE_DRAFT_API */ 00277 00282 UCAL_FIELD_COUNT, 00283 00284 #ifndef U_HIDE_DRAFT_API 00285 00290 UCAL_DAY_OF_MONTH=UCAL_DATE 00291 00292 #endif /*U_HIDE_DRAFT_API*/ 00293 }; 00294 00296 typedef enum UCalendarDateFields UCalendarDateFields; 00305 enum UCalendarDaysOfWeek { 00307 UCAL_SUNDAY = 1, 00309 UCAL_MONDAY, 00311 UCAL_TUESDAY, 00313 UCAL_WEDNESDAY, 00315 UCAL_THURSDAY, 00317 UCAL_FRIDAY, 00319 UCAL_SATURDAY 00320 }; 00321 00323 typedef enum UCalendarDaysOfWeek UCalendarDaysOfWeek; 00324 00328 enum UCalendarMonths { 00330 UCAL_JANUARY, 00332 UCAL_FEBRUARY, 00334 UCAL_MARCH, 00336 UCAL_APRIL, 00338 UCAL_MAY, 00340 UCAL_JUNE, 00342 UCAL_JULY, 00344 UCAL_AUGUST, 00346 UCAL_SEPTEMBER, 00348 UCAL_OCTOBER, 00350 UCAL_NOVEMBER, 00352 UCAL_DECEMBER, 00354 UCAL_UNDECIMBER 00355 }; 00356 00358 typedef enum UCalendarMonths UCalendarMonths; 00359 00363 enum UCalendarAMPMs { 00365 UCAL_AM, 00367 UCAL_PM 00368 }; 00369 00371 typedef enum UCalendarAMPMs UCalendarAMPMs; 00372 00384 U_DRAFT UEnumeration* U_EXPORT2 00385 ucal_openTimeZones(UErrorCode* ec); 00386 00403 U_DRAFT UEnumeration* U_EXPORT2 00404 ucal_openCountryTimeZones(const char* country, UErrorCode* ec); 00405 00422 U_DRAFT int32_t U_EXPORT2 00423 ucal_getDefaultTimeZone(UChar* result, int32_t resultCapacity, UErrorCode* ec); 00424 00434 U_DRAFT void U_EXPORT2 00435 ucal_setDefaultTimeZone(const UChar* zoneID, UErrorCode* ec); 00436 00453 U_DRAFT int32_t U_EXPORT2 00454 ucal_getDSTSavings(const UChar* zoneID, UErrorCode* ec); 00455 00462 U_STABLE UDate U_EXPORT2 00463 ucal_getNow(void); 00464 00477 U_STABLE UCalendar* U_EXPORT2 00478 ucal_open(const UChar* zoneID, 00479 int32_t len, 00480 const char* locale, 00481 UCalendarType type, 00482 UErrorCode* status); 00483 00490 U_STABLE void U_EXPORT2 00491 ucal_close(UCalendar *cal); 00492 00502 U_STABLE void U_EXPORT2 00503 ucal_setTimeZone(UCalendar* cal, 00504 const UChar* zoneID, 00505 int32_t len, 00506 UErrorCode* status); 00507 00512 enum UCalendarDisplayNameType { 00514 UCAL_STANDARD, 00516 UCAL_SHORT_STANDARD, 00518 UCAL_DST, 00520 UCAL_SHORT_DST 00521 }; 00522 00524 typedef enum UCalendarDisplayNameType UCalendarDisplayNameType; 00525 00539 U_STABLE int32_t U_EXPORT2 00540 ucal_getTimeZoneDisplayName(const UCalendar* cal, 00541 UCalendarDisplayNameType type, 00542 const char* locale, 00543 UChar* result, 00544 int32_t resultLength, 00545 UErrorCode* status); 00546 00555 U_STABLE UBool U_EXPORT2 00556 ucal_inDaylightTime(const UCalendar* cal, 00557 UErrorCode* status ); 00558 00563 enum UCalendarAttribute { 00565 UCAL_LENIENT, 00567 UCAL_FIRST_DAY_OF_WEEK, 00569 UCAL_MINIMAL_DAYS_IN_FIRST_WEEK 00570 }; 00571 00573 typedef enum UCalendarAttribute UCalendarAttribute; 00574 00586 U_STABLE int32_t U_EXPORT2 00587 ucal_getAttribute(const UCalendar* cal, 00588 UCalendarAttribute attr); 00589 00601 U_STABLE void U_EXPORT2 00602 ucal_setAttribute(UCalendar* cal, 00603 UCalendarAttribute attr, 00604 int32_t newValue); 00605 00615 U_STABLE const char* U_EXPORT2 00616 ucal_getAvailable(int32_t index); 00617 00626 U_STABLE int32_t U_EXPORT2 00627 ucal_countAvailable(void); 00628 00640 U_STABLE UDate U_EXPORT2 00641 ucal_getMillis(const UCalendar* cal, 00642 UErrorCode* status); 00643 00655 U_STABLE void U_EXPORT2 00656 ucal_setMillis(UCalendar* cal, 00657 UDate dateTime, 00658 UErrorCode* status ); 00659 00674 U_STABLE void U_EXPORT2 00675 ucal_setDate(UCalendar* cal, 00676 int32_t year, 00677 int32_t month, 00678 int32_t date, 00679 UErrorCode* status); 00680 00698 U_STABLE void U_EXPORT2 00699 ucal_setDateTime(UCalendar* cal, 00700 int32_t year, 00701 int32_t month, 00702 int32_t date, 00703 int32_t hour, 00704 int32_t minute, 00705 int32_t second, 00706 UErrorCode* status); 00707 00717 U_STABLE UBool U_EXPORT2 00718 ucal_equivalentTo(const UCalendar* cal1, 00719 const UCalendar* cal2); 00720 00736 U_STABLE void U_EXPORT2 00737 ucal_add(UCalendar* cal, 00738 UCalendarDateFields field, 00739 int32_t amount, 00740 UErrorCode* status); 00741 00757 U_STABLE void U_EXPORT2 00758 ucal_roll(UCalendar* cal, 00759 UCalendarDateFields field, 00760 int32_t amount, 00761 UErrorCode* status); 00762 00779 U_STABLE int32_t U_EXPORT2 00780 ucal_get(const UCalendar* cal, 00781 UCalendarDateFields field, 00782 UErrorCode* status ); 00783 00799 U_STABLE void U_EXPORT2 00800 ucal_set(UCalendar* cal, 00801 UCalendarDateFields field, 00802 int32_t value); 00803 00819 U_STABLE UBool U_EXPORT2 00820 ucal_isSet(const UCalendar* cal, 00821 UCalendarDateFields field); 00822 00837 U_STABLE void U_EXPORT2 00838 ucal_clearField(UCalendar* cal, 00839 UCalendarDateFields field); 00840 00851 U_STABLE void U_EXPORT2 00852 ucal_clear(UCalendar* calendar); 00853 00858 enum UCalendarLimitType { 00860 UCAL_MINIMUM, 00862 UCAL_MAXIMUM, 00864 UCAL_GREATEST_MINIMUM, 00866 UCAL_LEAST_MAXIMUM, 00868 UCAL_ACTUAL_MINIMUM, 00870 UCAL_ACTUAL_MAXIMUM 00871 }; 00872 00874 typedef enum UCalendarLimitType UCalendarLimitType; 00875 00890 U_STABLE int32_t U_EXPORT2 00891 ucal_getLimit(const UCalendar* cal, 00892 UCalendarDateFields field, 00893 UCalendarLimitType type, 00894 UErrorCode* status); 00895 00896 #ifdef U_USE_UCAL_OBSOLETE_2_8 00897 00907 U_OBSOLETE const UChar* U_EXPORT2 00908 ucal_getAvailableTZIDs(int32_t rawOffset, 00909 int32_t index, 00910 UErrorCode* status); 00911 00921 U_OBSOLETE int32_t U_EXPORT2 00922 ucal_countAvailableTZIDs(int32_t rawOffset); 00923 #endif 00924 00932 U_DRAFT const char * U_EXPORT2 00933 ucal_getLocaleByType(const UCalendar *cal, ULocDataLocaleType type, UErrorCode* status); 00934 00935 #endif /* #if !UCONFIG_NO_FORMATTING */ 00936 00937 #endif

Generated on Fri Jun 18 12:35:59 2004 for ICU by doxygen 1.3.7