Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QGregorianCalendar Class Reference

The QGregorianCalendar class implements the Gregorian calendar. More...

#include <qgregoriancalendar_p.h>

+ Inheritance diagram for QGregorianCalendar:
+ Collaboration diagram for QGregorianCalendar:

Public Member Functions

QString name () const override
 Returns the primary name of the calendar.
 
bool isLeapYear (int year) const override
 Returns true if the specified year is a leap year for this calendar.
 
bool dateToJulianDay (int year, int month, int day, qint64 *jd) const override
 Computes the Julian day number corresponding to the specified year, month, and day.
 
QCalendar::YearMonthDay julianDayToDate (qint64 jd) const override
 Computes the year, month, and day in this calendar for the given Julian day number jd.
 
QString monthName (const QLocale &locale, int month, int year, QLocale::FormatType format) const override
 Returns the name of the specified month in the given year for the chosen locale, using the given format to determine how complete the name is.
 
QString standaloneMonthName (const QLocale &locale, int month, int year, QLocale::FormatType format) const override
 Returns the standalone name of the specified month in the chosen locale, using the specified format to determine how complete the name is.
 
- Public Member Functions inherited from QRomanCalendar
int daysInMonth (int month, int year=QCalendar::Unspecified) const override
 Returns number of days in the month number month, in year year.
 
int minimumDaysInMonth () const override
 Returns the minimum number of days in any valid month of any valid year.
 
bool isLunar () const override
 Returns true if this calendar is a lunar calendar.
 
bool isLuniSolar () const override
 Returns true if this calendar is a lunisolar calendar.
 
bool isSolar () const override
 Returns true if this calendar is a solar calendar.
 
- Public Member Functions inherited from QCalendarBackend
virtual ~QCalendarBackend ()
 Destroys the calendar backend.
 
virtual QString name () const =0
 Returns the primary name of the calendar.
 
QStringList names () const
 Returns list of names this backend was registered with.
 
QCalendar::System calendarSystem () const
 The calendar system of this calendar.
 
QCalendar::SystemId calendarId () const
 
virtual int daysInMonth (int month, int year=QCalendar::Unspecified) const =0
 Returns number of days in the month number month, in year year.
 
virtual int daysInYear (int year) const
 Returns the total number of days in the year number year.
 
virtual int monthsInYear (int year) const
 Returns the total number of months in the year number year.
 
virtual bool isDateValid (int year, int month, int day) const
 Returns true if the date specified by year, month, and day is valid for this calendar; otherwise returns false.
 
virtual bool isLeapYear (int year) const =0
 Returns true if the specified year is a leap year for this calendar.
 
virtual bool isLunar () const =0
 Returns true if this calendar is a lunar calendar.
 
virtual bool isLuniSolar () const =0
 Returns true if this calendar is a lunisolar calendar.
 
virtual bool isSolar () const =0
 Returns true if this calendar is a solar calendar.
 
virtual bool isProleptic () const
 Returns true if this calendar is a proleptic calendar.
 
virtual bool hasYearZero () const
 Returns true if year number 0 is considered a valid year in this calendar.
 
virtual int maximumDaysInMonth () const
 Returns the maximum number of days in a month for any year.
 
virtual int minimumDaysInMonth () const
 Returns the minimum number of days in any valid month of any valid year.
 
virtual int maximumMonthsInYear () const
 Returns the maximum number of months possible in any year.
 
virtual bool dateToJulianDay (int year, int month, int day, qint64 *jd) const =0
 Computes the Julian day number corresponding to the specified year, month, and day.
 
virtual QCalendar::YearMonthDay julianDayToDate (qint64 jd) const =0
 Computes the year, month, and day in this calendar for the given Julian day number jd.
 
virtual int dayOfWeek (qint64 jd) const
 Returns the day of the week for the given Julian Day Number jd.
 
virtual QString monthName (const QLocale &locale, int month, int year, QLocale::FormatType format) const
 Returns the name of the specified month in the given year for the chosen locale, using the given format to determine how complete the name is.
 
virtual QString standaloneMonthName (const QLocale &locale, int month, int year, QLocale::FormatType format) const
 Returns the standalone name of the specified month in the chosen locale, using the specified format to determine how complete the name is.
 
virtual QString weekDayName (const QLocale &locale, int day, QLocale::FormatType format) const
 Returns the name of the specified day of the week in the chosen locale, using the specified format to determine how complete the name is.
 
virtual QString standaloneWeekDayName (const QLocale &locale, int day, QLocale::FormatType format) const
 Returns the standalone name of the specified day of the week in the chosen locale, using the specified format to determine how complete the name is.
 
virtual QString dateTimeToString (QStringView format, const QDateTime &datetime, QDate dateOnly, QTime timeOnly, const QLocale &locale) const
 Returns a string representing a given date, time or date-time.
 
bool isGregorian () const
 
QCalendar::SystemId registerCustomBackend (const QStringList &names)
 Register this backend as a custom backend.
 

Static Public Member Functions

static QStringList nameList ()
 
static int weekDayOfJulian (qint64 jd)
 
static bool leapTest (int year)
 
static int monthLength (int month, int year)
 
static bool validParts (int year, int month, int day)
 
static QCalendar::YearMonthDay partsFromJulian (qint64 jd)
 
static std::optional< qint64julianFromParts (int year, int month, int day)
 
static int yearStartWeekDay (int year)
 
static int yearSharingWeekDays (QDate date)
 
- Static Public Member Functions inherited from QCalendarBackend
static QStringList availableCalendars ()
 Returns a list of names of the available calendar systems.
 

Additional Inherited Members

- Protected Member Functions inherited from QRomanCalendar
const QCalendarLocalelocaleMonthIndexData () const override
 
const char16_t * localeMonthData () const override
 
virtual const QCalendarLocalelocaleMonthIndexData () const =0
 
virtual const char16_t * localeMonthData () const =0
 

Detailed Description

The QGregorianCalendar class implements the Gregorian calendar.

Since
5.14

\inmodule QtCore

Definition at line 24 of file qgregoriancalendar_p.h.

Member Function Documentation

◆ dateToJulianDay()

bool QGregorianCalendar::dateToJulianDay ( int  year,
int  month,
int  day,
qint64 jd 
) const
overridevirtual

Computes the Julian day number corresponding to the specified year, month, and day.

Returns true and sets jd if there is such a date in this calendar; otherwise, returns false.

See also
QCalendar::partsFromDate(), julianDayToDate()

Implements QCalendarBackend.

Definition at line 99 of file qgregoriancalendar.cpp.

References julianFromParts().

+ Here is the call graph for this function:

◆ isLeapYear()

bool QGregorianCalendar::isLeapYear ( int  year) const
overridevirtual

Returns true if the specified year is a leap year for this calendar.

See also
daysInYear(), isDateValid()

Implements QCalendarBackend.

Definition at line 60 of file qgregoriancalendar.cpp.

References leapTest().

+ Here is the call graph for this function:

◆ julianDayToDate()

QCalendar::YearMonthDay QGregorianCalendar::julianDayToDate ( qint64  jd) const
overridevirtual

Computes the year, month, and day in this calendar for the given Julian day number jd.

If the given day falls outside this calendar's scope (e.g. before the start-date of a non-proleptic calendar), the returned structure's isValid() is false; otherwise, its year, month, and day fields provide this calendar's description of the date.

See also
QCalendar::dateFromParts(), dateToJulianDay()

Implements QCalendarBackend.

Definition at line 107 of file qgregoriancalendar.cpp.

References partsFromJulian().

+ Here is the call graph for this function:

◆ julianFromParts()

std::optional< qint64 > QGregorianCalendar::julianFromParts ( int  year,
int  month,
int  day 
)
static

Definition at line 181 of file qgregoriancalendar.cpp.

References BaseJd, validParts(), and QRomanCalendrical::yearMonthToYearDays().

Referenced by QDate::QDate(), QLocalTime::computeSystemMillisRange(), dateToJulianDay(), QDate::dayOfYear(), QDateTimePrivate::expressUtcAsLocal(), fixedDate(), millisToWithinRange(), and QDate::setDate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ leapTest()

bool QGregorianCalendar::leapTest ( int  year)
static

Definition at line 65 of file qgregoriancalendar.cpp.

References QCalendar::Unspecified.

Referenced by QDate::daysInYear(), QDate::isLeapYear(), isLeapYear(), monthLength(), systemTimeYearMatching(), and yearSharingWeekDays().

+ Here is the caller graph for this function:

◆ monthLength()

int QGregorianCalendar::monthLength ( int  month,
int  year 
)
static

Definition at line 78 of file qgregoriancalendar.cpp.

References leapTest().

Referenced by QDate::daysInMonth(), fixedDate(), and validParts().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ monthName()

QString QGregorianCalendar::monthName ( const QLocale locale,
int  month,
int  year,
QLocale::FormatType  format 
) const
overridevirtual

Returns the name of the specified month in the given year for the chosen locale, using the given format to determine how complete the name is.

If year is Unspecified, return the name for the month that usually has this number within a typical year. Calendars with a leap month that isn't always the last may need to take account of the year to map the month number to the particular year's month with that number.

Note
Backends for which CLDR provides data can configure the default implementation of the two month name look-up methods by arranging for localeMonthIndexData() and localeMonthData() to provide access to the CLDR data (see cldr2qlocalexml.py, qlocalexml2cpp.py and existing backends). Conversely, backends that override both month name look-up methods need not return anything meaningful from localeMonthIndexData() or localeMonthData().
See also
standaloneMonthName(), QLocale::monthName()

Reimplemented from QCalendarBackend.

Definition at line 3003 of file qlocale.cpp.

References QLocale::LongFormat, QCalendarBackend::monthName(), QSystemLocale::MonthNameLong, QSystemLocale::MonthNameNarrow, QSystemLocale::MonthNameShort, QLocale::NarrowFormat, Q_ASSERT, QSystemLocale::query(), QLocale::ShortFormat, systemLocale(), systemLocaleData, and QVariant::toString().

+ Here is the call graph for this function:

◆ name()

QString QGregorianCalendar::name ( ) const
overridevirtual

Returns the primary name of the calendar.

Implements QCalendarBackend.

Definition at line 47 of file qgregoriancalendar.cpp.

References QStringLiteral.

◆ nameList()

QStringList QGregorianCalendar::nameList ( )
static

Definition at line 52 of file qgregoriancalendar.cpp.

References QStringLiteral.

◆ partsFromJulian()

QCalendar::YearMonthDay QGregorianCalendar::partsFromJulian ( qint64  jd)
static

Definition at line 192 of file qgregoriancalendar.cpp.

References BaseJd, QRomanCalendrical::FiveMonths, FourCenturies, QRomanCalendrical::FourYears, and Q_ASSERT.

Referenced by QDate::addMonths(), QDate::addYears(), QDate::day(), QDate::daysInMonth(), QDateTimePrivate::expressUtcAsLocal(), QDate::getDate(), julianDayToDate(), millisToWithinRange(), QDate::month(), and QDate::year().

+ Here is the caller graph for this function:

◆ standaloneMonthName()

QString QGregorianCalendar::standaloneMonthName ( const QLocale locale,
int  month,
int  year,
QLocale::FormatType  format 
) const
overridevirtual

Returns the standalone name of the specified month in the chosen locale, using the specified format to determine how complete the name is.

If year is Unspecified, return the standalone name for the month that usually has this number within a typical year. Calendars with a leap month that isn't always the last may need to take account of the year to map the month number to the particular year's month with that number.

See also
monthName(), QLocale::standaloneMonthName()

Reimplemented from QCalendarBackend.

Definition at line 3038 of file qlocale.cpp.

References QLocale::LongFormat, QLocale::NarrowFormat, Q_ASSERT, QSystemLocale::query(), QLocale::ShortFormat, QCalendarBackend::standaloneMonthName(), QSystemLocale::StandaloneMonthNameLong, QSystemLocale::StandaloneMonthNameNarrow, QSystemLocale::StandaloneMonthNameShort, systemLocale(), systemLocaleData, and QVariant::toString().

+ Here is the call graph for this function:

◆ validParts()

bool QGregorianCalendar::validParts ( int  year,
int  month,
int  day 
)
static

Definition at line 89 of file qgregoriancalendar.cpp.

References monthLength().

Referenced by QDate::isValid(), and julianFromParts().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ weekDayOfJulian()

int QGregorianCalendar::weekDayOfJulian ( qint64  jd)
static

Definition at line 94 of file qgregoriancalendar.cpp.

Referenced by QDate::dayOfWeek().

+ Here is the caller graph for this function:

◆ yearSharingWeekDays()

int QGregorianCalendar::yearSharingWeekDays ( QDate  date)
static

Definition at line 119 of file qgregoriancalendar.cpp.

References date, QDate::day(), QCalendarBackend::dayOfWeek(), leapTest(), QDate::month(), Q_ASSERT, QDate::year(), and yearStartWeekDay().

Referenced by macDateToString(), and QSystemLocalePrivate::toString().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ yearStartWeekDay()

int QGregorianCalendar::yearStartWeekDay ( int  year)
static

Definition at line 112 of file qgregoriancalendar.cpp.

Referenced by systemTimeYearMatching(), and yearSharingWeekDays().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: