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

ucal.h

Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 1996-2003, 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 UCAL_DOW_LOCAL, 00262 UCAL_EXTENDED_YEAR, 00267 UCAL_JULIAN_DAY, 00272 UCAL_MILLISECONDS_IN_DAY, 00277 UCAL_FIELD_COUNT, 00278 00283 UCAL_DAY_OF_MONTH=UCAL_DATE 00284 }; 00285 00287 typedef enum UCalendarDateFields UCalendarDateFields; 00296 enum UCalendarDaysOfWeek { 00298 UCAL_SUNDAY = 1, 00300 UCAL_MONDAY, 00302 UCAL_TUESDAY, 00304 UCAL_WEDNESDAY, 00306 UCAL_THURSDAY, 00308 UCAL_FRIDAY, 00310 UCAL_SATURDAY 00311 }; 00312 00314 typedef enum UCalendarDaysOfWeek UCalendarDaysOfWeek; 00315 00319 enum UCalendarMonths { 00321 UCAL_JANUARY, 00323 UCAL_FEBRUARY, 00325 UCAL_MARCH, 00327 UCAL_APRIL, 00329 UCAL_MAY, 00331 UCAL_JUNE, 00333 UCAL_JULY, 00335 UCAL_AUGUST, 00337 UCAL_SEPTEMBER, 00339 UCAL_OCTOBER, 00341 UCAL_NOVEMBER, 00343 UCAL_DECEMBER, 00345 UCAL_UNDECIMBER 00346 }; 00347 00349 typedef enum UCalendarMonths UCalendarMonths; 00350 00354 enum UCalendarAMPMs { 00356 UCAL_AM, 00358 UCAL_PM 00359 }; 00360 00362 typedef enum UCalendarAMPMs UCalendarAMPMs; 00363 00375 U_CAPI UEnumeration* U_EXPORT2 00376 ucal_openTimeZones(UErrorCode* ec); 00377 00394 U_CAPI UEnumeration* U_EXPORT2 00395 ucal_openCountryTimeZones(const char* country, UErrorCode* ec); 00396 00413 U_CAPI int32_t U_EXPORT2 00414 ucal_getDefaultTimeZone(UChar* result, int32_t resultCapacity, UErrorCode* ec); 00415 00425 U_CAPI void U_EXPORT2 00426 ucal_setDefaultTimeZone(const UChar* zoneID, UErrorCode* ec); 00427 00444 U_CAPI int32_t U_EXPORT2 00445 ucal_getDSTSavings(const UChar* zoneID, UErrorCode* ec); 00446 00453 U_CAPI UDate U_EXPORT2 00454 ucal_getNow(void); 00455 00468 U_CAPI UCalendar* U_EXPORT2 00469 ucal_open(const UChar* zoneID, 00470 int32_t len, 00471 const char* locale, 00472 UCalendarType type, 00473 UErrorCode* status); 00474 00481 U_CAPI void U_EXPORT2 00482 ucal_close(UCalendar *cal); 00483 00493 U_CAPI void U_EXPORT2 00494 ucal_setTimeZone(UCalendar* cal, 00495 const UChar* zoneID, 00496 int32_t len, 00497 UErrorCode* status); 00498 00503 enum UCalendarDisplayNameType { 00505 UCAL_STANDARD, 00507 UCAL_SHORT_STANDARD, 00509 UCAL_DST, 00511 UCAL_SHORT_DST 00512 }; 00513 00515 typedef enum UCalendarDisplayNameType UCalendarDisplayNameType; 00516 00530 U_CAPI int32_t U_EXPORT2 00531 ucal_getTimeZoneDisplayName(const UCalendar* cal, 00532 UCalendarDisplayNameType type, 00533 const char* locale, 00534 UChar* result, 00535 int32_t resultLength, 00536 UErrorCode* status); 00537 00546 U_CAPI UBool U_EXPORT2 00547 ucal_inDaylightTime(const UCalendar* cal, 00548 UErrorCode* status ); 00549 00554 enum UCalendarAttribute { 00556 UCAL_LENIENT, 00558 UCAL_FIRST_DAY_OF_WEEK, 00560 UCAL_MINIMAL_DAYS_IN_FIRST_WEEK 00561 }; 00562 00564 typedef enum UCalendarAttribute UCalendarAttribute; 00565 00577 U_CAPI int32_t U_EXPORT2 00578 ucal_getAttribute(const UCalendar* cal, 00579 UCalendarAttribute attr); 00580 00592 U_CAPI void U_EXPORT2 00593 ucal_setAttribute(UCalendar* cal, 00594 UCalendarAttribute attr, 00595 int32_t newValue); 00596 00606 U_CAPI const char* U_EXPORT2 00607 ucal_getAvailable(int32_t index); 00608 00617 U_CAPI int32_t U_EXPORT2 00618 ucal_countAvailable(void); 00619 00631 U_CAPI UDate U_EXPORT2 00632 ucal_getMillis(const UCalendar* cal, 00633 UErrorCode* status); 00634 00646 U_CAPI void U_EXPORT2 00647 ucal_setMillis(UCalendar* cal, 00648 UDate dateTime, 00649 UErrorCode* status ); 00650 00665 U_CAPI void U_EXPORT2 00666 ucal_setDate(UCalendar* cal, 00667 int32_t year, 00668 int32_t month, 00669 int32_t date, 00670 UErrorCode* status); 00671 00689 U_CAPI void U_EXPORT2 00690 ucal_setDateTime(UCalendar* cal, 00691 int32_t year, 00692 int32_t month, 00693 int32_t date, 00694 int32_t hour, 00695 int32_t minute, 00696 int32_t second, 00697 UErrorCode* status); 00698 00708 U_CAPI UBool U_EXPORT2 00709 ucal_equivalentTo(const UCalendar* cal1, 00710 const UCalendar* cal2); 00711 00727 U_CAPI void U_EXPORT2 00728 ucal_add(UCalendar* cal, 00729 UCalendarDateFields field, 00730 int32_t amount, 00731 UErrorCode* status); 00732 00748 U_CAPI void U_EXPORT2 00749 ucal_roll(UCalendar* cal, 00750 UCalendarDateFields field, 00751 int32_t amount, 00752 UErrorCode* status); 00753 00770 U_CAPI int32_t U_EXPORT2 00771 ucal_get(const UCalendar* cal, 00772 UCalendarDateFields field, 00773 UErrorCode* status ); 00774 00790 U_CAPI void U_EXPORT2 00791 ucal_set(UCalendar* cal, 00792 UCalendarDateFields field, 00793 int32_t value); 00794 00810 U_CAPI UBool U_EXPORT2 00811 ucal_isSet(const UCalendar* cal, 00812 UCalendarDateFields field); 00813 00828 U_CAPI void U_EXPORT2 00829 ucal_clearField(UCalendar* cal, 00830 UCalendarDateFields field); 00831 00842 U_CAPI void U_EXPORT2 00843 ucal_clear(UCalendar* calendar); 00844 00849 enum UCalendarLimitType { 00851 UCAL_MINIMUM, 00853 UCAL_MAXIMUM, 00855 UCAL_GREATEST_MINIMUM, 00857 UCAL_LEAST_MAXIMUM, 00859 UCAL_ACTUAL_MINIMUM, 00861 UCAL_ACTUAL_MAXIMUM 00862 }; 00863 00865 typedef enum UCalendarLimitType UCalendarLimitType; 00866 00881 U_CAPI int32_t U_EXPORT2 00882 ucal_getLimit(const UCalendar* cal, 00883 UCalendarDateFields field, 00884 UCalendarLimitType type, 00885 UErrorCode* status); 00886 00887 #ifdef U_USE_UCAL_OBSOLETE_2_8 00888 00898 U_CAPI const UChar* U_EXPORT2 00899 ucal_getAvailableTZIDs(int32_t rawOffset, 00900 int32_t index, 00901 UErrorCode* status); 00902 00912 U_CAPI int32_t U_EXPORT2 00913 ucal_countAvailableTZIDs(int32_t rawOffset); 00914 #endif 00915 00923 U_CAPI const char * U_EXPORT2 00924 ucal_getLocaleByType(const UCalendar *cal, ULocDataLocaleType type, UErrorCode* status); 00925 00926 #endif /* #if !UCONFIG_NO_FORMATTING */ 00927 00928 #endif

Generated on Wed Jul 28 09:15:54 2004 for ICU 2.8 by doxygen 1.3.7