Класс QDate
Класс QDate предоставляет функции работы с датами. Подробнее...
| Заголовок: | #include <QDate> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Примечание: Все функции этого класса являются повторно входящими.
Открытые функции
| QDate(int y, int m, int d) | |
| QDate() | |
| QDate | addDays(qint64 ndays) const |
| QDate | addMonths(int nmonths, QCalendar cal) const |
| QDate | addMonths(int nmonths) const |
| QDate | addYears(int nyears, QCalendar cal) const |
| QDate | addYears(int nyears) const |
| int | day(QCalendar cal) const |
| int | day() const |
| int | dayOfWeek(QCalendar cal) const |
| int | dayOfWeek() const |
| int | dayOfYear(QCalendar cal) const |
| int | dayOfYear() const |
| int | daysInMonth(QCalendar cal) const |
| int | daysInMonth() const |
| int | daysInYear(QCalendar cal) const |
| int | daysInYear() const |
| qint64 | daysTo(QDate d) const |
| QDateTime | endOfDay(Qt::TimeSpec spec = Qt::LocalTime, int offsetSeconds = 0) const |
| QDateTime | endOfDay(const QTimeZone &zone) const |
| void | getDate(int *year, int *month, int *day) const |
| bool | isNull() const |
| bool | isValid() const |
| int | month(QCalendar cal) const |
| int | month() const |
| bool | setDate(int year, int month, int day) |
| bool | setDate(int year, int month, int day, QCalendar cal) |
| QDateTime | startOfDay(Qt::TimeSpec spec = Qt::LocalTime, int offsetSeconds = 0) const |
| QDateTime | startOfDay(const QTimeZone &zone) const |
| qint64 | toJulianDay() const |
| QString | toString(const QString &format, QCalendar cal = QCalendar()) const |
| QString | toString(Qt::DateFormat format = Qt::TextDate) const |
| QString | toString(QStringView format, QCalendar cal = QCalendar()) const |
| int | weekNumber(int *yearNumber = nullptr) const |
| int | year(QCalendar cal) const |
| int | year() const |
Статические открытые члены
| QDate | currentDate() |
| QDate | fromJulianDay(qint64 jd) |
| QDate | fromString(const QString &string, Qt::DateFormat format = Qt::TextDate) |
| QDate | fromString(QStringView string, Qt::DateFormat format = Qt::TextDate) |
| QDate | fromString(QStringView string, QStringView format, QCalendar cal = QCalendar()) |
| QDate | fromString(const QString &string, QStringView format, QCalendar cal = QCalendar()) |
| QDate | fromString(const QString &string, const QString &format, QCalendar cal = QCalendar()) |
| bool | isLeapYear(int year) |
| bool | isValid(int year, int month, int day) |
Связанные нечлены
| bool | operator!=(QDate lhs, QDate rhs) |
| bool | operator<(QDate lhs, QDate rhs) |
| QDataStream & | operator<<(QDataStream &out, QDate date) |
| bool | operator<=(QDate lhs, QDate rhs) |
| bool | operator==(QDate lhs, QDate rhs) |
| bool | operator>(QDate lhs, QDate rhs) |
| bool | operator>=(QDate lhs, QDate rhs) |
| QDataStream & | operator>>(QDataStream &in, QDate &date) |
Подробное описание
Объект QDate представляет определенный день, независимо от календаря, локали или других настроек, используемых при его создании или предоставленных системой. Он может сообщать год, месяц и день месяца, представляющие день относительно пролептического григорианского календаря или любого календаря, предоставленного как объект QCalendar. Объекты QDate должны передаваться по значению, а не по ссылке на const; они просто упаковывают qint64.
Объект QDate обычно создается, явно задавая год, месяц и день. Обратите внимание, что QDate интерпретирует значения года, меньшие 100, как представленные, т.е., как года от 1 до 99, без добавления смещения. Статический метод currentDate() создает объект QDate, содержащий дату, считанную с системных часов. Явную дату также можно установить, используя setDate(). Функция fromString() возвращает QDate, заданный строкой и форматом даты, используемым для интерпретации даты в строке.
Функции year(), month() и day() обеспечивают доступ к значениям года, месяца и дня. Если требуется несколько значений, более эффективно вызывать QCalendar::partsFromDate() для экономии повторных (потенциально дорогостоящих) расчетов календаря.
Также предоставляются функции dayOfWeek() и dayOfYear(). Та же информация предоставляется в текстовом формате функцией toString(). QLocale может сопоставлять числовые значения дней с их названиями, QCalendar — числовые значения месяцев с их названиями.
QDate предоставляет полный набор операторов для сравнения двух объектов QDate, где меньшее значение соответствует более ранней дате, а большее — более поздней.
Вы можете увеличить (или уменьшить) дату на заданное количество дней, используя addDays(). Аналогичным образом, вы можете использовать addMonths() и addYears(). Функция daysTo() возвращает количество дней между двумя датами.
Функции daysInMonth() и daysInYear() возвращают количество дней в месяце и году этой даты соответственно. Функция isLeapYear() указывает, является ли год високосным. QCalendar также может предоставить эту информацию, в некоторых случаях более удобно.
Замечания
Примечание: Все преобразования в строковый формат и из него выполняются с использованием C-локали. Для локализованных преобразований см. QLocale.
В григорианском календаре нет года 0. Даты в этом году считаются недопустимыми. Год -1 — год «за 1 год до Рождества Христова» или «за 1 год до общей эры». День перед 1 января 1 н. э., QDate(1, 1, 1), — 31 декабря 1 г. до н. э., QDate(-1, 12, 31). Аналогичным образом ведут себя и другие календари; см. QCalendar::hasYearZero().
Диапазон допустимых дат
Даты хранятся в памяти в виде числа Джулианского дня, целого числа, считающего каждый день в непрерывном диапазоне, где 24 ноября 4714 г. до н. э. в григорианском календаре соответствует дню Джулианского 0 (1 января 4713 г. до н. э. в юлианском календаре). Помимо того, что это эффективный и точный способ хранения абсолютной даты, он подходит для преобразования даты в другие календарные системы, такие как еврейская, исламская или китайская. Число Джулианского дня можно получить, используя QDate::toJulianDay(), и можно установить, используя QDate::fromJulianDay().
Диапазон чисел Джулианского дня, которые может представлять QDate, по техническим причинам ограничен значениями от -784350574879 до 784354017364, что означает период от до 2 миллиардов лет до н. э. до после 2 миллиардов лет н. э. Это более чем в семь раз шире диапазона дат, который может представлять QDateTime.
См. также QTime, QDateTime, QCalendar, QDateTime::YearRange, QDateEdit, QDateTimeEdit и QCalendarWidget.
Документация по членам функции
QString QDate::toString(QStringView format, QCalendar cal = QCalendar()) const
QString QDate::toString(const QString &format, QCalendar cal = QCalendar()) const
Возвращает дату в виде строки. Параметр format определяет формат результирующей строки. Если cal задан, он определяет календарь, используемый для представления даты; по умолчанию используется григорианский календарь.
Можно использовать следующие выражения:
| Выражение | Вывод |
|---|---|
| d | День в виде числа без ведущего нуля (от 1 до 31) |
| dd | День в виде числа с ведущим нулём (от 01 до 31) |
| ddd | Аббревиатура имени дня ('Пн' до 'Вс'). |
| dddd | Полное имя дня ('Понедельник' до 'Воскресенье'). |
| M | Месяц в виде числа без ведущего нуля (от 1 до 12) |
| MM | Месяц в виде числа с ведущим нулём (от 01 до 12) |
| MMM | Аббревиатура имени месяца ('Янв' до 'Дек'). |
| MMMM | Полное имя месяца ('Январь' до 'Декабрь'). |
| yy | Год в виде двузначного числа (от 00 до 99) |
| yyyy | Год в виде четырёхзначного числа. Если год отрицательный, перед ним ставится знак минус, что делает длину строки равной пяти символам. |
Любая последовательность символов, заключённых в одинарные кавычки, будет включена в результирующую строку дословно (без кавычек), даже если она содержит символы форматирования. Две последовательные одинарные кавычки ("''") заменяются одной одинарной кавычкой в выводе. Все остальные символы в строке формата включаются в результирующую строку дословно.
Форматы без разделителей (например, "ddMM") поддерживаются, но использовать их следует с осторожностью, так как результирующие строки не всегда надёжно читаемы (например, если "dM" даёт "212", это может означать либо 2 декабря, либо 21 февраля).
Примеры строк формата (предполагается, что QDate — 20 июля 1969 г.):
| Формат | Результат |
|---|---|
| dd.MM.yyyy | 20.07.1969 |
| ddd MMMM d yy | Вс Июль 20 69 |
| 'День это' dddd | День это Воскресенье |
Если дата недействительна, возвращается пустая строка.
Примечание: Имена дней и месяцев указаны на английском языке (C-локаль). Если требуются локализованные имена месяцев и дней, используйте QLocale::system().toString().
См. также fromString(), QDateTime::toString(), QTime::toString() и QLocale::toString().
[since 5.14] QDateTime QDate::endOfDay(Qt::TimeSpec spec = Qt::LocalTime, int offsetSeconds = 0) const
[since 5.14] QDateTime QDate::endOfDay(const QTimeZone &zone) const
Возвращает конечный момент дня. Обычно это за миллисекунду до полуночи в конце дня: однако если переход зоны времени вызывает пропуск полуночи для заданной даты (например, переход на летнее время вперёд, пропуская время сразу после 23:00 и переходя к началу следующего дня), возвращается фактическое последнее время в течение дня. Это может произойти только в том случае, если начальный момент задан относительно зоны времени (передавая её QTimeZone как zone) или по местному времени (передавая Qt::LocalTime как spec; это значение по умолчанию).
offsetSeconds игнорируется, если spec не равен Qt::OffsetFromUTC, в противном случае оно представляет смещение зоны от UTC. Поскольку UTC и такие зоны не имеют переходов, конец дня — QTime(23, 59, 59, 999) в этих случаях.
В редких случаях, когда дата полностью пропускается (это происходит, когда зона, расположенная восточнее линии перемены дат, переключается на зону, расположенную западнее её), возвращаемое значение будет недействительным. Передача Qt::TimeZone в качестве spec (вместо передачи QTimeZone) также даст недействительный результат, как и даты, заканчивающиеся вне диапазона, представимого QDateTime.
Функция была добавлена в Qt 5.14.
См. также startOfDay().
[since 5.14] QDateTime QDate::startOfDay(Qt::TimeSpec spec = Qt::LocalTime, int offsetSeconds = 0) const
[since 5.14] QDateTime QDate::startOfDay(const QTimeZone &zone) const
Возвращает начальный момент дня. Обычно это полночь в начале дня: однако, если переход зоны времени вызывает пропуск полуночи для заданной даты (например, переход на летнее время вперёд, пропуская время сразу после 23:00 и переходя к началу следующего дня), возвращается фактическое самое раннее время в день. Это может произойти только в том случае, если начальный момент задан относительно зоны времени (передавая её QTimeZone как zone) или по местному времени (передавая Qt::LocalTime как spec; это значение по умолчанию).
offsetSeconds игнорируется, если spec не равен Qt::OffsetFromUTC, в противном случае оно представляет смещение зоны от UTC. Поскольку UTC и такие зоны не имеют переходов, начало дня — QTime(0, 0) в этих случаях.
В редких случаях, когда дата была полностью пропущена (это происходит, когда зона, расположенная к востоку от линии перемены дат, переходит к западу от неё), результат будет недействительным. Передача Qt::TimeZone в качестве spec (вместо передачи QTimeZone) или передача недопустимой временной зоны в качестве zone также приведут к недействительному результату, как и даты, начинающиеся вне диапазона, представимого QDateTime.
Эта функция была введена в Qt 5.14.
См. также endOfDay().
QDate::QDate(int y, int m, int d)
Создаёт дату с годом y, месяцем m и днём d.
Дата понимается в контексте григорианского календаря. Если указанная дата недействительна, дата не устанавливается, и isValid() возвращает false.
Предупреждение: Года от 1 до 99 интерпретируются как есть. Год 0 недействителен.
См. также isValid() и QCalendar::dateFromParts().
QDate::QDate()
Создаёт нулевую дату. Нулевые даты недействительны.
См. также isNull() и isValid().
QDate QDate::addDays(qint64 ndays) const
Возвращает объект QDate, содержащий дату, которая на ndays позже или раньше (если ndays отрицательно) даты этого объекта.
Возвращает нулевую дату, если текущая дата недействительна или новая дата выходит за пределы диапазона.
См. также addMonths(), addYears() и daysTo().
QDate QDate::addMonths(int nmonths, QCalendar cal) const
Возвращает объект QDate, содержащий дату, которая на nmonths позже или раньше (если nmonths отрицательно) даты этого объекта.
Использует cal в качестве календаря, если он предоставлен, в противном случае используется григорианский календарь.
Примечание: Если сочетание последнего дня/месяца не существует в получившемся месяце/году, эта функция вернёт самую позднюю допустимую дату в выбранном месяце.
См. также addDays() и addYears().
QDate QDate::addMonths(int nmonths) const
Это перегруженная функция.
QDate QDate::addYears(int nyears, QCalendar cal) const
Возвращает объект QDate, содержащий дату, которая на nyears позже или раньше (если nyears отрицательно) даты этого объекта.
Использует cal в качестве календаря, если он предоставлен, в противном случае используется григорианский календарь.
Примечание: Если сочетание последнего дня/месяца не существует в получившемся году (например, для григорианского календаря, если дата была 29 февраля, а последний год не является високосным), эта функция вернёт самую позднюю допустимую дату в данном месяце (в примере — 28 февраля).
См. также addDays() и addMonths().
QDate QDate::addYears(int nyears) const
Это перегруженная функция.
[static] QDate QDate::currentDate()
Возвращает текущую дату, согласно системным часам.
См. также QTime::currentTime() и QDateTime::currentDateTime().
int QDate::day(QCalendar cal) const
Возвращает день месяца для этой даты.
Использует cal в качестве календаря, если он предоставлен, в противном случае используется григорианский календарь (для которого диапазон значений от 1 до 31). Возвращает 0, если дата недействительна.
См. также year(), month(), dayOfWeek() и QCalendar::partsFromDate().
int QDate::day() const
Это перегруженная функция.
int QDate::dayOfWeek(QCalendar cal) const
Возвращает день недели (1 = понедельник до 7 = воскресенье) для этой даты.
Использует cal в качестве календаря, если он предоставлен, в противном случае используется григорианский календарь. Возвращает 0, если дата недействительна. Некоторые календари могут придавать значения больше 7 (например, дополнительным дням).
См. также day(), dayOfYear(), QCalendar::dayOfWeek() и Qt::DayOfWeek.
int QDate::dayOfWeek() const
Это перегруженная функция.
int QDate::dayOfYear(QCalendar cal) const
Возвращает номер дня года (1 для первого дня) для этой даты.
Использует cal в качестве календаря, если он предоставлен, в противном случае используется григорианский календарь. Возвращает 0, если дата или первый день года недействительны.
См. также day(), dayOfWeek() и QCalendar::daysInYear().
int QDate::dayOfYear() const
Это перегруженная функция.
int QDate::daysInMonth(QCalendar cal) const
Возвращает количество дней в месяце для этой даты.
Использует cal в качестве календаря, если он предоставлен, в противном случае используется григорианский календарь (для которого результат колеблется от 28 до 31). Возвращает 0, если дата недействительна.
См. также day(), daysInYear(), QCalendar::daysInMonth(), QCalendar::maximumDaysInMonth() и QCalendar::minimumDaysInMonth().
int QDate::daysInMonth() const
Это перегруженная функция.
int QDate::daysInYear(QCalendar cal) const
Возвращает количество дней в году для этой даты.
Использует cal в качестве календаря, если он предоставлен, в противном случае используется григорианский календарь (для которого результат равен 365 или 366). Возвращает 0, если дата недействительна.
См. также day(), daysInMonth(), QCalendar::daysInYear() и QCalendar::maximumMonthsInYear().
int QDate::daysInYear() const
Это перегруженная функция.
qint64 QDate::daysTo(QDate d) const
Возвращает количество дней от этой даты до d (отрицательное, если d раньше этой даты).
Возвращает 0, если любая из дат недействительна.
Пример:
QDate d1(1995, 5, 17); // May 17, 1995 QDate d2(1995, 5, 20); // May 20, 1995 d1.daysTo(d2); // returns 3 d2.daysTo(d1); // returns -3
См. также addDays().
[static] QDate QDate::fromJulianDay(qint64 jd)
Преобразует юлианский день jd в QDate.
См. также toJulianDay().
[static] QDate QDate::fromString(const QString &string, Qt::DateFormat format = Qt::TextDate)
Возвращает QDate, представленную строкой string с использованием заданного format, или недействительную дату, если строка не может быть обработана.
Примечание для Qt::TextDate: распознаются только английские названия месяцев (например, "Jan" в краткой форме или "January" в полной форме).
См. также toString() и QLocale::toDate().
[static, since 6.0] QDate QDate::fromString(QStringView string, Qt::DateFormat format = Qt::TextDate)
Это перегруженная функция.
Эта функция была введена в Qt 6.0.
[static, since 6.0] QDate QDate::fromString(QStringView string, QStringView format, QCalendar cal = QCalendar())
Это перегруженная функция.
Эта функция была введена в Qt 6.0.
[static, since 6.0] QDate QDate::fromString(const QString &string, QStringView format, QCalendar cal = QCalendar())
Это перегруженная функция.
Эта функция была введена в Qt 6.0.
[static] QDate QDate::fromString(const QString &string, const QString &format, QCalendar cal = QCalendar())
Возвращает QDate, представленный строкой string, используя заданный формат, или недействительную дату, если строку невозможно разобрать.
Использует cal в качестве календаря, если он предоставлен, иначе — григорианский календарь. Диапазоны значений в описаниях форматов ниже относятся ко второму случаю; они могут отличаться для других календарей.
Эти выражения могут быть использованы для формата:
| Выражение | Вывод |
|---|---|
| d | День как число без ведущего нуля (1 до 31) |
| dd | День как число с ведущим нулем (01 до 31) |
| ddd | Аббревиатура имени дня ('Пн' до 'Вс'). |
| dddd | Полное имя дня ('Понедельник' до 'Воскресенье'). |
| M | Месяц как число без ведущего нуля (1 до 12) |
| MM | Месяц как число с ведущим нулем (01 до 12) |
| MMM | Аббревиатура имени месяца ('Янв' до 'Дек'). |
| MMMM | Полное имя месяца ('Январь' до 'Декабрь'). |
| yy | Год как двузначное число (00 до 99) |
| yyyy | Год как четырёхзначное число, возможно с ведущим знаком минус для отрицательных годов. |
Примечание: Имена дней и месяцев должны быть на английском языке (C locale). Если используются локализованные имена месяцев и дней, используйте QLocale::system().toDate().
Все остальные символы входных данных будут обрабатываться как текст. Любая непустая последовательность символов, заключенная в одинарные кавычки, также будет обрабатываться (без кавычек) как текст и не будет интерпретироваться как выражение. Например:
QDate date = QDate::fromString("1MM12car2003", "d'MM'MMcaryyyy");
// date is 1 December 2003 Если формат не соответствует, возвращается недействительная QDate. Выражения, не ожидающие ведущих нулей (d, M), будут жадными. Это означает, что они будут использовать два знака, даже если это выведет их за пределы допустимого диапазона значений и оставит слишком мало знаков для других разделов. Например, следующая строка формата могла означать 30 января, но M захватит два знака, что приведёт к недействительной дате:
QDate date = QDate::fromString("130", "Md"); // invalid Для любого поля, не представленного в формате, используются следующие значения по умолчанию:
| Поле | Значение по умолчанию |
|---|---|
| Год | 1900 |
| Месяц | 1 (январь) |
| День | 1 |
Следующие примеры демонстрируют значения по умолчанию:
QDate::fromString("1.30", "M.d"); // January 30 1900
QDate::fromString("20000110", "yyyyMMdd"); // January 10, 2000
QDate::fromString("20000110", "yyyyMd"); // January 10, 2000 См. также toString(), QDateTime::fromString(), QTime::fromString(), и QLocale::toDate().
void QDate::getDate(int *year, int *month, int *day) const
Извлекает год, месяц и день даты и присваивает их *year, *month и *day. Указатели могут быть нулевыми.
Возвращает 0, если дата недействительна.
Примечание: В версиях Qt до 5.7 эта функция помечена как не-const.
См. также year(), month(), day(), isValid(), и QCalendar::partsFromDate().
[static] bool QDate::isLeapYear(int year)
Возвращает true, если указанный год является високосным в григорианском календаре; в противном случае возвращает false.
См. также QCalendar::isLeapYear().
bool QDate::isNull() const
Возвращает true, если дата равна null; в противном случае возвращает false. Дата null недействительна.
Примечание: Поведение этой функции эквивалентно isValid().
См. также isValid().
bool QDate::isValid() const
Возвращает true, если эта дата действительна; в противном случае возвращает false.
См. также isNull() и QCalendar::isDateValid().
[static] bool QDate::isValid(int year, int month, int day)
Это перегруженная функция.
Возвращает true, если указанная дата (год, месяц и день) действительна в григорианском календаре; в противном случае возвращает false.
Пример:
QDate::isValid(2002, 5, 17); // true QDate::isValid(2002, 2, 30); // false (Feb 30 does not exist) QDate::isValid(2004, 2, 29); // true (2004 is a leap year) QDate::isValid(2000, 2, 29); // true (2000 is a leap year) QDate::isValid(2006, 2, 29); // false (2006 is not a leap year) QDate::isValid(2100, 2, 29); // false (2100 is not a leap year) QDate::isValid(1202, 6, 6); // true (even though 1202 is pre-Gregorian)
См. также isNull(), setDate(), и QCalendar::isDateValid().
int QDate::month(QCalendar cal) const
Возвращает номер месяца для даты.
Нумерует месяцы года, начиная с 1 для первого. Использует cal в качестве календаря, если он предоставлен, иначе — григорианский календарь, для которого нумерация месяцев следующая:
- 1 = "январь"
- 2 = "февраль"
- 3 = "март"
- 4 = "апрель"
- 5 = "май"
- 6 = "июнь"
- 7 = "июль"
- 8 = "август"
- 9 = "сентябрь"
- 10 = "октябрь"
- 11 = "ноябрь"
- 12 = "декабрь"
Возвращает 0, если дата недействительна. Обратите внимание, что некоторые календари могут иметь более 12 месяцев в некоторых годах.
См. также year(), day(), и QCalendar::partsFromDate().
int QDate::month() const
Это перегруженная функция.
bool QDate::setDate(int year, int month, int day)
Устанавливает эту дату, чтобы она представляла дату в григорианском календаре, с заданными годом, месяцем и днём. Возвращает true, если полученная дата действительна, в противном случае устанавливает эту дату как недействительную и возвращает false.
См. также isValid() и QCalendar::dateFromParts().
[since 5.14] bool QDate::setDate(int year, int month, int day, QCalendar cal)
Устанавливает эту дату, чтобы она представляла дату в указанном календаре cal, с заданными годом, месяцем и днём. Возвращает true, если полученная дата действительна, в противном случае устанавливает эту дату как недействительную и возвращает false.
Эта функция была добавлена в Qt 5.14.
См. также isValid() и QCalendar::dateFromParts().
qint64 QDate::toJulianDay() const
Преобразует дату в юлианский день.
См. также fromJulianDay().
QString QDate::toString(Qt::DateFormat format = Qt::TextDate) const
Это перегруженная функция.
Возвращает дату в виде строки. Параметр format определяет формат строки.
Если format равен Qt::TextDate, строка форматируется по умолчанию. Имена дней и месяцев будут на английском языке. Пример такого форматирования: "Сб Май 20 1995". Для локализованного форматирования см. QLocale::toString().
Если format равен Qt::ISODate, формат строки соответствует расширенному спецификации ISO 8601 для представления дат и времени, имея вид yyyy-MM-dd, где yyyy — год, MM — месяц года (между 01 и 12), а dd — день месяца (между 01 и 31).
Если format равен Qt::RFC2822Date, строка форматируется в соответствии с RFC 2822. Пример такого форматирования: "20 Май 1995".
Если дата недействительна, возвращается пустая строка.
Предупреждение: Формат Qt::ISODate действителен только для годов в диапазоне от 0 до 9999.
См. также fromString() и QLocale::toString().
int QDate::weekNumber(int *yearNumber = nullptr) const
Возвращает номер недели ISO 8601 (от 1 до 53).
Возвращает 0, если дата недействительна. В противном случае возвращает номер недели для даты. Если yearNumber не равен nullptr (по умолчанию), сохраняет год в *yearNumber.
В соответствии с ISO 8601, каждая неделя попадает в год, к которому принадлежит большинство её дней, в григорианском календаре. Поскольку неделя ISO 8601 начинается с понедельника, это год, к которому относится четверг недели. Большинство лет имеют 52 недели, но некоторые — 53.
Примечание: *yearNumber не всегда совпадает с year(). Например, 1 января 2000 года имеет номер недели 52 в 1999 году, а 31 декабря 2002 года — номер недели 1 в 2003 году.
См. также isValid().
int QDate::year(QCalendar cal) const
Возвращает год этой даты.
Использует cal в качестве календаря, если он предоставлен, иначе — григорианский календарь.
Возвращает 0, если дата недействительна. Для некоторых календарей даты до их первого года могут быть недействительными.
Если используется календарь, у которого есть год 0, проверьте с помощью isValid(), если результат 0. Такие календари используют отрицательные номера годов очевидным образом, год 1 предшествует году 0, а тот, в свою очередь, — году -1 и так далее.
Некоторые календари, несмотря на отсутствие года 0, имеют условную нумерацию лет до своего первого года, отсчитывая назад от 1. Например, в пролептическом григорианском календаре года до 1 н. э. (первый год) обозначаются как 1 до н. э., 2 до н. э., 3 до н. э. и так далее. Для таких календарей используются отрицательные значения года для обозначения этих лет до года 1, где -1 обозначает год до 1.
См. также month(), day(), QCalendar::hasYearZero(), QCalendar::isProleptic(), и QCalendar::partsFromDate().
int QDate::year() const
Это перегруженный метод.
Связанные нечлены
bool operator!=(QDate lhs, QDate rhs)
Возвращает true если lhs и rhs представляют разные даты; в противном случае возвращает false.
См. также operator==().
bool operator<(QDate lhs, QDate rhs)
Возвращает true если lhs раньше rhs; в противном случае возвращает false.
QDataStream &operator<<(QDataStream &out, QDate date)
Записывает date в поток out.
См. также Сериализация типов данных Qt.
bool operator<=(QDate lhs, QDate rhs)
Возвращает true если lhs раньше или равно rhs; в противном случае возвращает false.
bool operator==(QDate lhs, QDate rhs)
Возвращает true если lhs и rhs представляют один и тот же день, в противном случае false.
bool operator>(QDate lhs, QDate rhs)
Возвращает true если lhs позже rhs; в противном случае возвращает false.
bool operator>=(QDate lhs, QDate rhs)
Возвращает true если lhs позже или равно rhs; в противном случае возвращает false.
QDataStream &operator>>(QDataStream &in, QDate &date)
Читает дату из потока in в date.
См. также Сериализация типов данных Qt.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qdate.html