Класс year_month
Представляет месяц и год. День не указан.
Синтаксис
class year_month; // C++20
Участники
Имя | Описание |
---|---|
Конструкторы | Создание year_month |
year |
Возвращает год. |
month |
Возвращает месяц. |
ok |
Убедитесь, что year значения и month значения находятся в допустимом диапазоне. |
operator+= |
Добавьте указанное количество месяцев или лет. |
operator-= |
Вычитает указанное количество месяцев или лет. |
Не являющиеся членами
Имя | Описание |
---|---|
from_stream |
year_month Анализ из потока с помощью указанного формата |
operator+ |
Добавьте месяцы и(или) годы. |
operator- |
Вычитайте месяцы и(или) годы. |
operator== |
Определите, равны ли два year_month значения. |
operator<=> |
Сравните два year_month значения. Операторы >, >=, <=, <, != синтезируются компилятором. |
operator<< |
Выводится year_month в поток. |
Требования
Заголовок: <chrono>
(с C++20)
Пространство имен: std::chrono
Параметр компилятора: /std:c++latest
Конструкторы
Создайте year_month
1) year_month() = default;
2) constexpr year_month(const year& y, const month& m) noexcept;
Параметры
y
Значение типа year
.
m
Значение типа month
.
Замечания
1) Конструктор по умолчанию не инициализирует year
или month
значение.
2) Создание year_month
с указанными значениями.
Сведения о синтаксисе C++20 для указания дат см. в разделе operator/
Пример. Создание year_month
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month ym{2021y / June};
std::cout << ym;
return 0;
}
2021/Jun
month
Получите месяц.
constexpr month month() const noexcept;
Возвращаемое значение
Значение типа month
.
year
Получите год.
constexpr year year() const noexcept;
Возвращаемое значение
year
.
ok
Проверьте, есть ли значение года и месяца, хранящиеся в этом year_month
диапазоне.
constexpr bool ok() const noexcept;
Возвращаемое значение
true
year_month
Если значения года и месяца находятся в допустимом диапазоне. В противном случае — false
.
operator+=
Добавьте к этому year_month
месяцы или годы.
1) constexpr year_month& operator+=(const months& dm) noexcept;
2) constexpr year_month& operator+=(const years& dy) noexcept;
Параметры
dm
Количество добавленных месяцев.
dy
Количество добавляемых лет.
Возвращаемое значение
*this
, который отражает результат добавления.
Пример: operator +=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month ym{2021y / June};
std::cout << ym << '\n';
ym += months{2};
ym += years{1};
std::cout << ym;
return 0;
}
2021/Jun
2022/Aug
operator-=
Вычитайте месяцы или годы из этого year_month
.
1) constexpr year_month& operator-=(const months& dm) noexcept;
2) constexpr year_month& operator-=(const years& dy) noexcept;
Параметры
dm
Количество месяцев для вычитания.
dy
Количество лет для вычитания.
Возвращаемое значение
*this
, который отражает результат вычитания.
Пример: operator -=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month ym{2021y / June};
std::cout << ym << '\n';
ym -= months{2};
ym -= years{1};
std::cout << ym;
return 0;
}
2021/Jun
2020/Apr
См. также
<chrono>
year
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_last
operator/
Справочник по файлам заголовков