Spec-Zone.ru › Qt

Класс QCalendar

Класс QCalendar описывает системы календарей. Подробнее...

Заголовок: #include <QCalendar>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
С момента: Qt 5.14
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются перевходными.

Общедоступные типы

класс SystemId
перечисление System { Gregorian, Julian, Milankovic, Jalali, IslamicCivil }

Общедоступные функции

QCalendar(QCalendar::SystemId id)
QCalendar(QStringView name)
QCalendar(QLatin1String name)
QCalendar(QCalendar::System system)
QCalendar()
QDate dateFromParts(int year, int month, int day) const
QDate dateFromParts(const QCalendar::YearMonthDay &parts) const
QString dateTimeToString(QStringView format, const QDateTime &datetime, QDate dateOnly, QTime timeOnly, const QLocale &locale) const
int dayOfWeek(QDate date) const
int daysInMonth(int month, int year = Unspecified) const
int daysInYear(int year) const
bool hasYearZero() const
bool isDateValid(int year, int month, int day) const
bool isGregorian() const
bool isLeapYear(int year) const
bool isLunar() const
bool isLuniSolar() const
bool isProleptic() const
bool isSolar() const
bool isValid() const
int maximumDaysInMonth() const
int maximumMonthsInYear() const
int minimumDaysInMonth() const
QString monthName(const QLocale &locale, int month, int year = Unspecified, QLocale::FormatType format = QLocale::LongFormat) const
int monthsInYear(int year) const
QString name() const
QCalendar::YearMonthDay partsFromDate(QDate date) const
QString standaloneMonthName(const QLocale &locale, int month, int year = Unspecified, QLocale::FormatType format = QLocale::LongFormat) const
QString standaloneWeekDayName(const QLocale &locale, int day, QLocale::FormatType format = QLocale::LongFormat) const
QString weekDayName(const QLocale &locale, int day, QLocale::FormatType format = QLocale::LongFormat) const

Статические общедоступные члены

QStringList availableCalendars()

Подробное описание

Объект QCalendar сопоставляет год, месяц и день номера конкретному дню (в конечном итоге определяемому его юлианским числом), используя правила конкретной системы.

По умолчанию QCalendar() — это пролептический григорианский календарь, в котором нет года ноль. Другие календари могут поддерживаться путем включения соответствующих функций или загрузки плагинов. Поддерживаемые как функции календари можно создать, передав перечисление QCalendar::System в конструктор. Все поддерживаемые календари можно создать по имени, после их создания. (Таким образом, плагины инициализируют свой календарный бэкэнд для его регистрации.) Встроенные бэкэнды, доступные через QCalendar::System, также всегда доступны по имени. Календари, использующие пользовательские бэкэнды, также могут быть созданы с использованием уникального идентификатора, назначенного бэкэнду при создании.

Значение QCalendar неизменяемо.

См. также QDate и QDateTime.

Документация по типам членов

Перечисление QCalendar::System

Это перечисление используется для указания выбора календарной системы.

Константа Значение Описание
QCalendar::System::Gregorian 0 Стандартный календарь, используемый во всем мире.
QCalendar::System::Julian 8 Древнеримский календарь.
QCalendar::System::Milankovic 9 Пересмотренный юлианский календарь, используемый некоторыми православными церквями.
QCalendar::System::Jalali 10 Солнечный хиджри календарь (также называется персидским).
QCalendar::System::IslamicCivil 11 Календарь исламской гражданской эпохи (табличный).

См. также QCalendar и QCalendar::SystemId.

Документация по функциям-членам

QDate QCalendar::dateFromParts(const QCalendar::YearMonthDay &parts) const

QDate QCalendar::dateFromParts(int year, int month, int day) const

Преобразует год, месяц и день в QDate.

Значения year, month и day могут быть переданы как отдельные числа или упакованы вместе как члены parts. Возвращает QDate с заданным годом, месяцем и днем месяца в этом календаре, если такой существует. В противном случае, включая случай, когда любое из значений равно QCalendar::Unspecified, возвращает QDate, для которого isNull() истинно.

См. также isDateValid() и partsFromDate().

QCalendar::QCalendar()

QCalendar::QCalendar(QCalendar::System system)

QCalendar::QCalendar(QLatin1String name)

QCalendar::QCalendar(QStringView name)

Создаёт объект календаря.

Выбор используемого календаря может быть указан с помощью system, используя перечисление QCalendar::System, или с помощью name, используя строку (Unicode или Latin 1). Создание по имени может зависеть от того, был ли экземпляр заданного календаря создан другими средствами. Без аргумента конструктор по умолчанию возвращает григорианский календарь.

См. также QCalendar, System и isValid().

[since 6.2] QCalendar::QCalendar(QCalendar::SystemId id)

Это перегруженный метод.

Создаёт объект календаря.

При использовании реализации пользовательского календаря его бэкенд получает уникальный идентификатор при создании; передача этого идентификатора как id в этот конструктор вернёт QCalendar, использующий этот бэкенд. Это может быть полезно, когда бэкенд не зарегистрирован по имени.

Этот метод был добавлен в Qt 6.2.

[static] QStringList QCalendar::availableCalendars()

Возвращает список имён доступных систем календаря.

Они могут быть предоставлены плагинами или другим кодом, подключённым к приложению, помимо тех, которые предоставляет Qt, некоторые из которых контролируются функциями.

QString QCalendar::dateTimeToString(QStringView format, const QDateTime &datetime, QDate dateOnly, QTime timeOnly, const QLocale &locale) const

Возвращает строковое представление заданной даты, времени или даты и времени.

Если datetime допустима, она представляется, и распознаются спецификаторы формата для полей даты и времени; в противном случае, если dateOnly допустима, она представляется, и распознаются только спецификаторы формата для полей даты; наконец, если timeOnly допустима, она представляется, и распознаются только спецификаторы формата для полей времени. Если ни одно из этих значений не допустимо, возвращается пустая строка.

См. QDate::toString и QTime::toString() для поддерживаемых спецификаторов поля. Символы в format, которые распознаются как спецификаторы поля, заменяются текстом, представляющим соответствующие данные из даты и/или времени, которые представляются. Тексты для их представления могут зависеть от указанного locale. Другие символы в format копируются в возвращаемую строку дословно.

См. также monthName(), weekDayName(), QDate::toString() и QTime::toString().

int QCalendar::dayOfWeek(QDate date) const

Возвращает номер дня недели для заданной date.

Возвращает ноль, если календарь не может представить указанную дату. Возвращает 1 для понедельника до 7 для воскресенья. Календари с дополнительными днями могут использовать другие числа для их представления.

См. также partsFromDate() и Qt::DayOfWeek.

int QCalendar::daysInMonth(int month, int year = Unspecified) const

Возвращает количество дней в заданном month заданного year.

Месяцы нумеруются последовательно, начиная с 1 для первого месяца каждого года. Если year равно Unspecified (его значение по умолчанию, если оно не передано), возвращается длина месяца в обычном году.

См. также maximumDaysInMonth() и minimumDaysInMonth().

int QCalendar::daysInYear(int year) const

Возвращает количество дней в заданном year.

Обработка Unspecified в качестве year не определена.

bool QCalendar::hasYearZero() const

Возвращает true, если у этого календаря есть год ноль.

Календарь может представлять годы с его первого года и далее, но не предоставлять способ описания лет до его первого; такой календарь не имеет года ноль и не является пролептическим.

Календарь, который представляет годы до его первого, может нумеровать эти годы просто, следуя обычному счёту целых чисел, так что год перед первым - год ноль, с отрицательными годами, предшествующими этому; такой календарь является пролептическим и имеет год ноль. Календарь также может иметь год ноль (например, год какого-либо важного события, а последующие годы - первый год после этого события, второй год после него и так далее) без описания лет до своего года ноль. Такой календарь имел бы год ноль, не будучи пролептическим.

Однако некоторые календари представляют годы до своего первого с помощью альтернативной нумерации; например, первый год пролептического григорианского календаря - 1 н. э., а год перед ним - 1 до н. э., предшествующий 2 до н. э. и так далее. В этом случае мы используем отрицательные номера лет для этой альтернативной нумерации, при этом год -1 - год перед годом 1, год -2 - год перед годом -1 и так далее. Такой календарь является пролептическим, но не имеет года ноль.

См. также isProleptic().

bool QCalendar::isDateValid(int year, int month, int day) const

Возвращает true ровно тогда, когда заданные year, month и day определяют допустимую дату в этом календаре.

Обычно это означает 1 <= month <= monthsInYear(year) и 1 <= day <= daysInMonth(month, year). Однако календари с дополнительными днями или месяцами могут это усложнить.

bool QCalendar::isGregorian() const

Возвращает true, если этот объект календаря является григорианским календарём, используемым по умолчанию для календаря другими API Qt, например, в QDate.

bool QCalendar::isLeapYear(int year) const

Возвращает true, если указанный year является високосным.

Поскольку год не является целым числом дней, некоторые годы длиннее других. Разница может составлять целый месяц или просто один день; детали различаются в зависимости от календаря.

См. также isDateValid().

bool QCalendar::isLunar() const

Возвращает true, если этот календарь - лунный.

Лунный календарь - это календарь, основанный в основном на фазах Луны.

bool QCalendar::isLuniSolar() const

Возвращает true, если этот календарь лунно-солнечный.

Лунно-солнечный календарь выражает фазы Луны, но также адаптируется, чтобы отслеживать изменяющееся положение Солнца на небе, относительно неподвижных звёзд.

bool QCalendar::isProleptic() const

Возвращает true, если этот календарь пролептический.

Пролептический календарь способен описывать годы, произвольно большие до своего первого. Они представлены отрицательными номерами лет и, возможно, годом ноль.

См. также hasYearZero().

bool QCalendar::isSolar() const

Возвращает true, если этот календарь солнечный.

Солнечный календарь основан в основном на изменяющемся положении Солнца на небе, относительно неподвижных звёзд.

bool QCalendar::isValid() const

Возвращает true, если это допустимый объект календаря.

Создание календаря с неизвестным именем календаря может привести к недопустимому объекту. Используйте этот метод для проверки после создания календаря по имени.

int QCalendar::maximumDaysInMonth() const

Возвращает количество дней в самом длинном месяце в календаре в любом году.

См. также daysInMonth() и minimumDaysInMonth().

int QCalendar::maximumMonthsInYear() const

Возвращает наибольшее количество месяцев, которое может содержать любой год.

См. также monthName(), standaloneMonthName() и monthsInYear().

int QCalendar::minimumDaysInMonth() const

Возвращает количество дней в самом коротком месяце в календаре в любом году.

См. также daysInMonth() и maximumDaysInMonth().

QString QCalendar::monthName(const QLocale &locale, int month, int year = Unspecified, QLocale::FormatType format = QLocale::LongFormat) const

Возвращает локально подходящее имя для месяца.

Месяц указывается числом, где month = 1 означает первый месяц года, а последующие месяцы нумеруются соответственно. Возвращает пустую строку, если номер month не распознаётся.

Год может быть Неопределён, в этом случае следует использовать сопоставление чисел с именами месяцев для типичного года. Некоторые календари имеют високосные месяцы, которые не всегда находятся в конце года; их сопоставление номеров месяцев с именами может зависеть от расположения високосного месяца. Поэтому год обычно следует указывать, если он известен.

Имя возвращается в форме, которая обычно используется в полной дате, в указанном языковом стандарте; формат определяет, насколько полностью оно будет выражено (т.е. в какой степени оно сокращено).

См. также standaloneMonthName(), maximumMonthsInYear() и dateTimeToString().

int QCalendar::monthsInYear(int год) const

Возвращает количество месяцев в данном году.

Если год равен Unspecified, возвращает максимальное количество месяцев в году.

См. также maximumMonthsInYear().

QString QCalendar::name() const

Основное имя этого календаря.

Календарь также может быть известен по некоторым псевдонимам. Календарь, созданный по имени, может использовать такой псевдоним, в этом случае его имя() не обязательно должно совпадать с псевдонимом, по которому он был создан.

QCalendar::YearMonthDay QCalendar::partsFromDate(QDate дата) const

Преобразует QDate в год, месяц и день месяца.

Возвращаемая структура isValid() должна быть false, если календарь не может представить заданную дату. В противном случае её члены year, month и day записывают так называемые части её представления.

См. также dateFromParts(), isProleptic() и hasYearZero().

QString QCalendar::standaloneMonthName(const QLocale &языковойстандарт, int месяц, int год = Неопределён, QLocale::FormatType формат = QLocale::LongFormat) const

Возвращает локально адаптированное отдельное имя для месяца.

Месяц указывается числом, при этом месяц = 1 означает первый месяц года, а последующие месяцы нумеруются соответственно. Возвращает пустую строку, если номер месяца не распознан.

Год может быть Неопределён, в этом случае следует использовать сопоставление чисел с именами месяцев для типичного года. Некоторые календари имеют високосные месяцы, которые не всегда находятся в конце года; их сопоставление номеров месяцев с именами может зависеть от расположения високосного месяца. Поэтому год обычно следует указывать, если он известен.

Имя возвращается в форме, которая используется изолированно в указанном языковом стандарте; формат определяет, насколько полностью оно будет выражено (т.е. в какой степени оно сокращено).

См. также monthName(), maximumMonthsInYear() и dateTimeToString().

QString QCalendar::standaloneWeekDayName(const QLocale &locale, int день, QLocale::FormatType формат = QLocale::LongFormat) const

Возвращает локально адаптированное отдельное имя для дня недели.

Дни недели нумеруются от 1 для понедельника до 7 для воскресенья. Некоторые календари могут поддерживать более высокие номера для других дней (например, високосных дней, которые не являются частью какой-либо недели). Возвращает пустую строку, если номер дня не распознан.

Имя возвращается в форме, которая используется изолированно (например, в качестве заголовка столбца в табличном представлении календаря месяца с последовательными неделями в качестве строк) в указанном языковом стандарте; формат определяет, насколько полностью оно будет выражено (т.е. в какой степени оно сокращено).

См. также weekDayName() и dayOfWeek().

QString QCalendar::weekDayName(const QLocale &locale, int день, QLocale::FormatType формат = QLocale::LongFormat) const

Возвращает локально адаптированное имя для дня недели.

Дни недели нумеруются от 1 для понедельника до 7 для воскресенья. Некоторые календари могут поддерживать более высокие номера для других дней (например, високосных дней, которые не являются частью какой-либо недели). Возвращает пустую строку, если номер дня не распознан.

Имя возвращается в форме, которая обычно используется в полной дате, в указанном языковом стандарте; формат определяет, насколько полностью оно будет выражено (т.е. в какой степени оно сокращено).

См. также standaloneWeekDayName() и dayOfWeek().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qcalendar.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API