Spec-Zone.ru › Qt 6.1

Класс QCalendar

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

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

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

Типы public

Перечисление class Система { Григорианская, Юлианская, Миланковича, Джалали, ИсламскийГражданский }

Функции public

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

Статические public члены

QStringList availableCalendars()

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

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

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

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

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

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

enum class QCalendar::System

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

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

См. также QCalendar.

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

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() равно true.

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

QCalendar::QCalendar()

QCalendar::QCalendar(QCalendar::System system)

QCalendar::QCalendar(QLatin1String name)

QCalendar::QCalendar(QStringView name)

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

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

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

[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 не распознаётся.

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

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

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

int QCalendar::monthsInYear(int year) const

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

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

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

QString QCalendar::name() const

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

QCalendar::YearMonthDay QCalendar::partsFromDate(QDate date) const

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

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

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

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

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

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

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

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

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

QString QCalendar::standaloneWeekDayName(const QLocale &locale, int day, QLocale::FormatType format = QLocale::LongFormat) const

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

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

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

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

QString QCalendar::weekDayName(const QLocale &locale, int day, QLocale::FormatType format = QLocale::LongFormat) const

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

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

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

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

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

Spec-Zone.ru

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