Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | 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 May 18 17:29:14 2005 for ICU 2.8 by  doxygen 1.4.2