다음을 통해 공유


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_clockyear_month_weekday 날짜까지의 일 수를 다음과 같이 local_days가져옵니다.
operator sys_days Epoch에서 system_clockyear_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) 지정된 monthyear에 해당하는 구문 year_month_weekdayweekday_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 <a0/&weekday_indexa0>입니다. 그렇지 않으면 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_clockyear_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/헤더 파일 참조