year_month_weekday
클래스
월의 특정 연도, 월 및 n번째 평일을 나타냅니다.
구문
class year_month_weekday; // C++20
설명
year_month_weekday
는 연중 및 월 지향 산술 연산을 지원하지만 일 지향 산술 연산은 지원하지 않습니다. 일 지향 산술 연산의 경우 변환을 사용하여 sys_days
일 지향 산술을 지원하는 변환으로 변환 sys_days
합니다.
year_month_weekday
는 일반적으로 복사할 수 표준 레이아웃 클래스 형식입니다.
멤버
속성 | 설명 |
---|---|
Constructor |
지정된 월 및 평일을 사용하여 a year_month_weekday 를 생성합니다. |
index |
평일의 인덱스 가져오기 |
month |
월 값을 가져옵니다. |
ok |
유효한지 year_month_weekday 확인합니다. |
operator+= |
지정된 월 또는 연도 수를 추가합니다. |
operator-= |
지정한 월 또는 연도 수를 뺍니다. |
operator local_days |
Epoch에서 system_clock 이 year_month_weekday 날짜까지의 일 수를 다음과 같이 local_days 가져옵니다. |
operator sys_days |
Epoch에서 system_clock 이 year_month_weekday 날짜까지의 일 수를 다음과 같이 sys_days 가져옵니다. |
weekday |
평일을 가져옵니다. |
weekday_indexed |
이 year_month_weekday 위치에 저장된 [weekday_indexed ]를 가져옵니다. |
year |
연도를 가져옵니다. |
비멤버
속성 | 설명 |
---|---|
operator+ |
월 또는 연도를 추가합니다. |
operator- |
월 또는 연도를 뺍니다. |
operator== |
두 year_month_weekday 값이 같은지 여부를 확인합니다. |
operator<< |
지정된 스트림에 출력 year_month_weekday 합니다. |
요구 사항
헤더: <chrono>
(C++20 이후)
네임스페이스: std::chrono
컴파일러 옵션: /std:c++latest
생성자
year_month_weekday
를 생성합니다.
// 1)
year_month_weekday() = default
// 2)
constexpr year_month_weekday(const year& y, const month& m, const weekday_indexed& wdi) noexcept;
// 3)
constexpr explicit year_month_weekday(const local_days& dp) noexcept;
// 4)
constexpr year_month_weekday(const sys_days& dp) noexcept;
매개 변수
m
month
값입니다.
dp
A sys_days
또는 local_days
wdi
weekday
값입니다.
y
year
값입니다.
설명: 생성자
1) 기본 생성자는 필드를 초기화하지 않습니다.
2) 지정된 month
year
에 해당하는 구문 year_month_weekday
및 weekday_indexed
.
3) 로 표시되는 sys_days{dp.time_since_epoch()}
날짜에 해당하는 A를 생성 year_month_weekday
합니다.
4) 로 표시되는 dp
날짜에 해당하는 A를 생성 year_month_weekday
합니다. 있는 모든 year_month_weekday
(ymdl)의 ok()
true
경우 비교 operator==
year_month_weekday{sys_days{ymdl}}
가 됩니다 true
.
날짜를 지정하는 데 사용되는 C++20 구문에 대한 자세한 내용은 operator/
예: year_month_weekday
만들기
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_weekday ymw{1997y / January / Wednesday[1]};
std::cout << ymw << '\n';
return 0;
}
1997/Jan/Wed[1]
index
이 year_month_weekday
요일의 주 인덱스 가져오기.
constexpr unsigned index() const noexcept;
반환 값
평일의 인덱스입니다. 예를 들어 평일이 요일의 첫 번째 수요일인 경우 인덱스가 1이 됩니다.
month
월 값을 가져옵니다.
constexpr month month() const noexcept;
반환 값
month
값입니다.
ok
이 값에 저장된 값이 year_month_weekday
유효한지 확인합니다. 이 함수가 year
반환true
되려면 이 함수에 year_month_weekday
저장되는 ok
<weekday_index
a0>입니다. 그렇지 않으면 false
을(를) 반환합니다.
constexpr bool ok() const noexcept;
반환 값
true
값이 year_month_weekday
유효한 경우 그렇지 않으면 false
입니다.
A year_month_weekday
는 둘 다 month
유효하고 값이 weekday_indexed
유효한 경우 유효합니다.
operator+=
에 year_month_weekday
월 또는 연도를 추가합니다.
1) constexpr year_month_weekday& operator+=(const months& m) noexcept;
2) constexpr year_month_weekday& operator+=(const years& y) noexcept;
매개 변수
m
추가할 월 수입니다.
y
추가할 연도 수입니다.
반환 값
*this
은 추가 결과를 반영합니다.
예: operator+=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_weekday ymw{1997y / January / Wednesday[1]};
std::cout << ymw << '\n';
ymw += months{1};
ymw += years{1};
std::cout << ymw << '\n';
return 0;
}
1997/Jan/Wed[1]
1998/Feb/Wed[1]
operator-=
에서 year_month_weekday
월 또는 연도를 뺍니다.
1) constexpr year_month_weekday& operator-=(const months& m) noexcept;
2) constexpr year_month_weekday& operator-=(const years& y) noexcept;
매개 변수
m
뺄 월 수입니다.
y
뺄 연도 수입니다.
반환 값
*this
빼기의 결과를 반영합니다.
예: operator-=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_weekday ymw{1997y / January / Wednesday[1]};
std::cout << ymw << '\n';
ymw -= months{1};
ymw -= years{1};
std::cout << ymw << '\n';
return 0;
}
1997/Jan/Wed[1]
1995/Dec/Wed[1]
operator local_days
Epoch(1/1/1/1970)에서 system_clock
다음 year_month_weekday
으로 일 수를 가져옵니다. local_days
constexpr explicit operator local_days() const noexcept;
반환 값
이면 ok()
일 수를 .로 local_days{sys_days{*this}.time_since_epoch()}
반환합니다. 그렇지 않으면 반환된 값이 지정되지 않습니다.
operator sys_days
Epoch(1/1/1/1970)에서 system_clock
이 year_month_day
sys_days
날짜까지의 일 수를 가져옵니다.
constexpr operator sys_days() const noexcept;
반환 값
이면 ok()
첫 번째 year()/month()
weekday()
날짜 이후의 날짜를 나타내는 값을 (index() - 1) * 7
반환 sys_days
합니다. 이 경우 index()
반환 sys_days
된 날짜는 첫 번째 weekday()
날짜 7일 전의 year()/month()
0
날짜를 나타냅니다.
weekday
이 year_month_weekday
위치에 weekday
weekday_indexed
저장된 값을 가져옵니다.
constexpr weekday weekday() const noexcept;
반환 값
weekday
값입니다.
weekday_indexed
이 year_month_weekday
위치에 저장된 값을 weekday_indexed
가져옵니다.
constexpr weekday_indexed weekday_indexed() const noexcept;
반환 값
weekday_indexed
값입니다.
year
연도 값을 가져옵니다.
constexpr year year() const noexcept;
반환 값
year
값입니다.
참고 항목
<chrono>
year
year_month
year_month_day
year_month_day_last
year_month_weekday_last
operator/
헤더 파일 참조