year_month_day
클래스
월, 연도 및 일을 나타냅니다.
class year_month_day; // C++20
속성 | 설명 |
---|---|
생성자 | a 생성 year_month_day |
day |
일을 반환합니다. |
month |
월을 반환합니다. |
ok |
값과 month 값이 year 유효한 범위에 있는지 확인합니다. |
operator+= |
지정된 월 또는 연도 수를 추가합니다. |
operator-= |
지정한 월 또는 연도 수를 뺍니다. |
operator local_days |
Epoch에서 system_clock 이 year_month_day 날짜까지의 일 수를 다음과 같이 local_days 가져옵니다. |
operator sys_days |
Epoch에서 system_clock 이 year_month_day 날짜까지의 일 수를 다음과 같이 sys_days 가져옵니다. |
year |
연도를 반환합니다. |
속성 | 설명 |
---|---|
from_stream |
지정된 형식을 year_month_day 사용하여 스트림에서 구문 분석 |
operator+ |
월 또는 연도를 추가합니다. |
operator- |
월 또는 연도를 뺍니다. |
operator== |
두 year_month_day 값이 같은지 여부를 확인합니다. |
operator<=> |
두 year_month_day 값을 비교합니다. >, >=, <=, <, != 연산자는 컴파일러에 의해 합성됩니다. |
operator<< |
스트림에 출력 year_month_day 합니다. |
헤더: <chrono>
(C++20 이후)
네임스페이스: std::chrono
컴파일러 옵션: /std:c++latest
를 생성합니다 year_month_day
.
1) year_month_day() = default;
2) constexpr year_month_day(const year& y, const month& m, day& d) noexcept;
3) constexpr year_month_day(const year_month_day_last& ymdl) noexcept;
4) constexpr year_month_day(const sys_days& dp) noexcept;
5) constexpr explicit year_month_day(const local_days& dp) noexcept;
d
값입니다 day
.
dp
A sys_days
또는 local_days
값입니다.
m
값입니다 month
.
y
year
값입니다.
ymdl
값입니다 year_month_day_last
.
1) 기본 생성자는 월 또는 일을 초기화하지 않습니다.
2) 지정된 연도, 월 및 일을 사용하여 a year_month_day
를 생성합니다.
3) year_month_day
지정된 연도, 월 및 일을 사용하여 ymdl
4) 와 같은 날짜를 dp
사용하여 생성합니다year_month_day
.
5) 동일한 날짜를 dp
사용하여 생성 year_month_day
하지만 year_month_day(sys_days(dp.time_since_epoch()))
.
날짜를 지정하는 데 사용되는 C++20 구문에 대한 자세한 내용은 operator/
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_day ymd{ April / 4 / 1975 };
std::cout << ymd;
return 0;
}
1975-04-04
하루를 가져옵니다.
constexpr day day() const noexcept;
day
값입니다.
월을 가져옵니다.
constexpr month month() const noexcept;
month
값입니다.
Epoch(1/1/1/1970)에서 system_clock
다음 year_month_day
으로 일 수를 가져옵니다. local_days
constexpr explicit operator local_days() const noexcept;
이면 ok()
일 수를 로 반환합니다. local_days{sys_days{*this}.time_since_epoch()}
Epoch(1/1/1/1970)에서 system_clock
이 year_month_day
sys_days
날짜까지의 일 수를 가져옵니다.
constexpr operator sys_days() const noexcept;
sys_days
이면 ok()
epoch(1970년 1월 1일)부터 sys_days
이 year_month_day
날짜까지의 일 수를 반환합니다. 이 값의 날짜 year_month_day
가 epoch 이전인 경우 값은 음수 sys_days
입니다.
이 year_month_day
값의 연도와 월이 ok()
면 .를 반환합니다 sys_days{year/month/1d} + (day-1d)
. 그렇지 않으면 반환된 값이 지정되지 않습니다.
[, days{11248737}
] 범위days{-12687428}
의 A sys_days
는 a year_month_day
와 뒤로 변환할 수 있으며 동일한 값을 가질 수 있습니다.
연도를 가져옵니다.
constexpr year year() const noexcept;
year
.
이 값에 저장된 연도 및 월 값이 year_month_day
모두 유효한 범위에 있는지 확인합니다. 날짜가 [1d, (y/m/last).day()] 범위에 있고 윤년 및 매월 다른 일 수를 차지하도록 합니다.
constexpr bool ok() const noexcept;
true
year_month_day
연도, 월 및 일 값이 유효한 범위에 있는 경우 그렇지 않으면 false
입니다.
에 year_month_day
월 또는 연도를 추가합니다.
1) constexpr year_month_day& operator+=(const months& dm) noexcept;
2) constexpr year_month_day& operator+=(const years& dy) noexcept;
dm
추가할 월 수입니다.
dy
추가할 연도 수입니다.
*this
- 추가 결과를 반영합니다.
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_day ymd{June / 1d / 2021y};
std::cout << ymd << '\n';
ymd += months{2};
ymd += years{1};
std::cout << ymd;
return 0;
}
2021-06-01
2022-08-01
에서 year_month_day
월 또는 연도를 뺍니다.
1) constexpr year_month_day& operator-=(const months& dm) noexcept;
2) constexpr year_month_day& operator-=(const years& dy) noexcept;
dm
뺄 월 수입니다.
dy
뺄 연도 수입니다.
*this
- 빼기의 결과를 반영합니다.
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_day ymd{June / 1d / 2021y};
std::cout << ymd << '\n';
ymd -= months{2};
ymd -= years{1};
std::cout << ymd;
return 0;
}
2021-06-01
2020-04-01
<chrono>
year
year_month
year_month_day_last
year_month_weekday
year_month_weekday_last
operator/
헤더 파일 참조