다음을 통해 공유


day 클래스

월의 일을 나타냅니다. 예를 들어 해당 월의 25일입니다.

구문

class day; // C++20

설명

day A는 일반적으로 [1, 31] 범위의 값을 보유합니다. 이 범위 밖에 음수가 아닌 값을 포함할 수 있지만 [0, 255] 범위 내에 있지 않으면 동작이 지정되지 않습니다.

멤버

속성 설명
생성자 를 생성합니다 day.
ok 일 값이 유효한 범위 [1,31]에 있는지 확인합니다.
operator++ 증분합니다 day.
operator+= 지정된 일 수를 이 day날짜에 추가합니다.
operator-- 를 줄입니다 day.
operator-= 지정된 일 수를 이 날짜에서 뺍니다. day
operator unsigned 날짜 값을 부호 없는 정수로 가져옵니다.

비멤버

속성 설명
from_stream 지정된 형식을 day 사용하여 지정된 스트림에서 구문 분석합니다.
operator+ 지정된 일 수를 이 day날짜에 추가하여 새 day 개체를 반환합니다.
operator- 이 개체에서 day지정된 일 수를 빼서 새 day 개체를 반환합니다.
operator== 두 개의 day 인스턴스가 같은지 여부를 확인합니다.
operator<=> 다른 day에 대해 비교합니다day. >, >=, <=, <, != 연산자는 컴파일러에 의해 합성됩니다.
operator<< 지정된 스트림에 출력 day 합니다.
operator""d 월의 day 1일 리터럴을 만듭니다.

요구 사항

헤더: <chrono> (C++20 이후)

네임스페이스: std::chrono

컴파일러 옵션: /std:c++latest

생성자

day를 생성합니다.

1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;

매개 변수

d
with day 값을 생성합니다 d.

설명

1) 기본 생성자는 일 값을 초기화하지 않습니다.
2) 일 값을 초기화하여 생성 day 합니다 d.

예: day 만들기

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    day d{1}; // day 1
    day d2 = 2d; // day 2

    std::cout << d << ", " << d2;

    return 0;
}
01, 02

ok

day에 저장된 값이 유효한 범위에 있는지 확인합니다.

constexpr bool ok() const noexcept;

반환 값

true 날짜 값이 [1,31] 범위에 있으면 입니다. 그렇지 않으면 false입니다.

operator++

일 값에 1을 추가합니다.

1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;

반환 값

1) 증분된 후의 참조 *this day(후위 증가)입니다.
2) 증분되기 전day복사본입니다(접두사 증가).

예: operator++

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    day d{1};

    std::cout << d << " " << ++d << "\n"; // constexpr day& operator++() noexcept
    std::cout << d << " " << d++ << "\n"; // constexpr day operator++(int) noexcept
    std::cout << d;

    return 0;
}
01 02
02 02
03

설명

증가된 결과가 [0, 255] 범위를 벗어나면 저장된 값이 지정되지 않습니다.

operator--

일 값에서 1을 뺍니다.

1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;

반환 값

1) 감소된 날짜 에 대한 참조 *this 입니다(후위 감소).
2) 감소되기 전*day복사본입니다(접두사 감소).

예: operator--

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

int main()
{
    day d{5};
    std::cout << d << " " << --d << "\n"; // constexpr day& operator--() noexcept
    std::cout << d << " " << d-- << "\n"; // constexpr day operator--(int) noexcept
    std::cout << d << "\n";

    return 0;
}
05 04
04 04
03

설명

감소된 결과가 [0, 255] 범위를 벗어나면 저장된 값이 지정되지 않습니다.

operator+=

day날짜에 일을 추가합니다.

constexpr day& operator+=(const days& d) noexcept;

매개 변수

d
추가할 일 수입니다.

반환 값

*this

결과가 [0, 255] 범위를 벗어나면 저장된 값이 지정되지 않습니다.

operator-=

day날짜에서 일을 뺍니다.

constexpr day& operator-=(const days& d) noexcept;

매개 변수

d
뺄 일 수입니다.

반환 값

*this. 결과가 [0, 255] 범위를 벗어나면 저장된 값이 지정되지 않습니다.

operator unsigned

값을 가져옵니다 day .

explicit constexpr operator unsigned() const noexcept;

반환 값

의 값입니다. day

예: operator unsigned()

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

int main()
{
    chrono::day d{14d};
    unsigned dayValue = static_cast<unsigned>(d);
    cout << dayValue << "\n";
    
    return 0;
}
14

참고 항목

<chrono>
month_day 클래스
month_day_last 클래스
year_month_day
year_month_day_last
헤더 파일 참조