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
헤더 파일 참조