31#if U_SHOW_CPLUSPLUS_API
33#if !UCONFIG_NO_FORMATTING
355#ifndef U_FORCE_HIDE_DEPRECATED_API
383#ifndef U_HIDE_DEPRECATED_API
474 virtual const char *
getType()
const override;
502 UBool useMonth)
const override;
549#ifndef U_HIDE_INTERNAL_API
653 static double computeJulianDayOfYear(
UBool isGregorian, int32_t year,
660 UBool validateFields(
void)
const;
676 int32_t aggregateStamp(int32_t stamp_a, int32_t stamp_b);
685 UDate fGregorianCutover;
690 int32_t fCutoverJulianDay;
697 UDate fNormalizedGregorianCutover;
703 int32_t fGregorianCutoverYear;
712 static double millisToJulianDay(
UDate millis);
721 static UDate julianDayToMillis(
double julian);
734 UBool fInvertGregorian;
C++ API: Calendar object.
Calendar is an abstract base class for converting between a UDate object and a set of integer fields ...
EDateFields
Field IDs for date and time.
Concrete class which provides the standard calendar used by most of the world.
int32_t yearLength(int32_t year) const
return the length of the given year.
int32_t getActualMinimum(EDateFields field, UErrorCode &status) const
Return the minimum value that this field could have, given the current date.
virtual UBool haveDefaultCentury() const override
GregorianCalendar(UErrorCode &success)
Constructs a default GregorianCalendar using the current time in the default time zone with the defau...
virtual UBool inDaylightTime(UErrorCode &status) const override
(Overrides Calendar) Return true if the current date for this Calendar is in Daylight Savings Time.
virtual int32_t handleGetLimit(UCalendarDateFields field, ELimitType limitType) const override
Subclass API for defining limits of different types.
virtual int32_t handleGetExtendedYear() override
Return the extended year defined by the current fields.
virtual void handleComputeFields(int32_t julianDay, UErrorCode &status) override
Subclasses may override this method to compute several fields specific to each calendar system.
virtual int32_t monthLength(int32_t month) const
return the length of the given month.
EEras
Useful constants for GregorianCalendar and TimeZone.
GregorianCalendar & operator=(const GregorianCalendar &right)
Default assignment operator.
virtual UClassID getDynamicClassID(void) const override
Override Calendar Returns a unique class ID POLYMORPHICALLY.
GregorianCalendar(TimeZone *zoneToAdopt, UErrorCode &success)
Constructs a GregorianCalendar based on the current time in the given time zone with the default loca...
GregorianCalendar(const Locale &aLocale, UErrorCode &success)
Constructs a GregorianCalendar based on the current time in the default time zone with the given loca...
GregorianCalendar(const TimeZone &zone, const Locale &aLocale, UErrorCode &success)
Constructs a GregorianCalendar based on the current time in the given time zone with the given locale...
virtual UDate defaultCenturyStart() const override
virtual int32_t handleGetMonthLength(int32_t extendedYear, int32_t month) const override
Return the number of days in the given month of the given extended year of this calendar system.
virtual int32_t monthLength(int32_t month, int32_t year) const
return the length of the month according to the given year.
GregorianCalendar(TimeZone *zoneToAdopt, const Locale &aLocale, UErrorCode &success)
Constructs a GregorianCalendar based on the current time in the given time zone with the given locale...
GregorianCalendar(int32_t year, int32_t month, int32_t date, int32_t hour, int32_t minute, int32_t second, UErrorCode &success)
Constructs a GregorianCalendar with the given AD date and time set for the default time zone with the...
virtual int32_t handleGetExtendedYearFromWeekFields(int32_t yearWoy, int32_t woy) override
Subclasses may override this to convert from week fields (YEAR_WOY and WEEK_OF_YEAR) to an extended y...
void pinDayOfMonth(void)
After adjustments such as add(MONTH), add(YEAR), we don't want the month to jump around.
GregorianCalendar(const TimeZone &zone, UErrorCode &success)
Constructs a GregorianCalendar based on the current time in the given time zone with the default loca...
GregorianCalendar(const GregorianCalendar &source)
Copy constructor.
virtual int32_t handleComputeMonthStart(int32_t eyear, int32_t month, UBool useMonth) const override
Return the Julian day number of day before the first day of the given month in the given extended yea...
virtual int32_t internalGetEra() const
Return the ERA.
virtual int32_t handleGetYearLength(int32_t eyear) const override
Return the number of days in the given extended year of this calendar system.
int32_t getActualMinimum(EDateFields field) const
Return the minimum value that this field could have, given the current date.
UBool isLeapYear(int32_t year) const
Return true if the given year is a leap year.
virtual int32_t defaultCenturyStartYear() const override
virtual ~GregorianCalendar()
Destructor.
virtual int32_t handleComputeJulianDay(UCalendarDateFields bestField) override
Subclasses may override this.
static UClassID getStaticClassID(void)
Return the class ID for this class.
int32_t getActualMinimum(UCalendarDateFields field, UErrorCode &status) const override
Return the minimum value that this field could have, given the current date.
virtual const char * getType() const override
Returns the calendar type name string for this Calendar object.
GregorianCalendar(int32_t year, int32_t month, int32_t date, int32_t hour, int32_t minute, UErrorCode &success)
Constructs a GregorianCalendar with the given AD date and time set for the default time zone with the...
virtual int32_t getActualMaximum(UCalendarDateFields field, UErrorCode &status) const override
Return the maximum value that this field could have, given the current date.
virtual UDate getEpochDay(UErrorCode &status)
Return the day number with respect to the epoch.
virtual UBool isEquivalentTo(const Calendar &other) const override
Returns true if the given Calendar object is equivalent to this one.
virtual void roll(EDateFields field, int32_t amount, UErrorCode &status) override
(Overrides Calendar) Rolls up or down by the given amount in the specified field.
int32_t yearLength(void) const
return the length of the year field.
virtual void roll(UCalendarDateFields field, int32_t amount, UErrorCode &status) override
(Overrides Calendar) Rolls up or down by the given amount in the specified field.
GregorianCalendar(int32_t year, int32_t month, int32_t date, UErrorCode &success)
Constructs a GregorianCalendar with the given AD date set in the default time zone with the default l...
virtual GregorianCalendar * clone() const override
Create and return a polymorphic copy of this calendar.
UDate getGregorianChange(void) const
Gets the Gregorian Calendar change date.
void setGregorianChange(UDate date, UErrorCode &success)
Sets the GregorianCalendar change date.
A Locale object represents a specific geographical, political, or cultural region.
TimeZone represents a time zone offset, and also figures out daylight savings.
UCalendarDateFields
Possible fields in a UCalendar.
int8_t UBool
The ICU boolean type, a signed-byte integer.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
double UDate
Date and Time data type.