Namespaces
Variants

std::chrono:: year_month_day_last

From cppreference.net
헤더에 정의됨 <chrono>
class year_month_day_last ;
(C++20 이후)

year_month_day_last 클래스는 특정 연도와 월의 마지막 날을 나타냅니다. 이는 필드 기반 시간 점으로, std::chrono::days 의 해상도를 가지며, 오직 월의 마지막 날만 표현할 수 있다는 제한이 있습니다.

std::chrono::years std::chrono::months 지향 연산이 직접 지원됩니다. std::chrono::sys_days 로의 암시적 변환을 통해 std::chrono::days 지향 연산을 효율적으로 수행할 수 있습니다.

year_month_day_last TriviallyCopyable StandardLayoutType 입니다.

목차

멤버 함수

year_month_day_last 객체를 생성합니다
(public member function)
시간 포인트를 몇 개월 또는 몇 년만큼 수정합니다
(public member function)
이 객체의 필드에 접근합니다
(public member function)
std::chrono::time_point 로 변환합니다
(public member function)
이 객체가 유효한 날짜를 나타내는지 확인합니다
(public member function)

비멤버 함수

두 개의 year_month_day_last 값을 비교
(함수)
year_month_day_last 와 일부 연수 또는 월수를 더하거나 뺌
(함수)
(C++20)
year_month_day_last 를 스트림으로 출력
(함수 템플릿)

헬퍼 클래스

year_month_day_last 에 대한 서식 지정 지원
(클래스 템플릿 특수화)
std::chrono::year_month_day_last 에 대한 해시 지원
(클래스 템플릿 특수화)

예제

#include <chrono>
#include <iostream>
int main()
{
    const auto ymd = std::chrono::year_month_day
    {
        std::chrono::floor<std::chrono::days>(std::chrono::system_clock::now())
    };
    const std::chrono::year_month_day_last ymdl
    {
        ymd.year(), ymd.month() / std::chrono::last
    };
    std::cout << "현재 달의 마지막 날 (" << ymdl << ") 은: "
              << std::chrono::year_month_day{ymdl}.day() << '\n';
    // 'last' 객체는 'day'를 배치할 수 있는 모든 위치에 배치 가능:
    using namespace std::chrono;
    constexpr std::chrono::year_month_day_last
        ymdl1 = 2023y / February / last,
        ymdl2 = last / February / 2023y,
        ymdl3 = February / last / 2023y;
    static_assert(ymdl1 == ymdl2 && ymdl2 == ymdl3);
}

가능한 출력:

현재 달의 마지막 날 (2023/Aug/last) 은: 31

참고 항목

특정 year , month , 그리고 day 를 나타냄
(클래스)