Aracılığıyla paylaş


year_month_day_last sınıfı

Belirli bir yılın ve ayın son gününü temsil eder.

year_month_day_last ay aritmetiğini ve yıl aritmetiğini destekler, ancak gün aritmetiğini desteklemez. Gün odaklı aritmetik yapmak için öğesini öğesine sys_daysdönüştürünyear_month_day_last.

Sözdizimi

class year_month_day_last; // C++20

Üyeler

Adı Açıklama
Oluşturucular Oluşturma year_month_day_last
day Ayın/yılın son gününü alır.
month Ayı al.
month_day_last Bu year_month_day_lastiçinde depolanan month_day_last değerini alın.
ok ve month değerlerinin year geçerli aralıkta olduğunu doğrulayın.
operator+= Buna year_month_day_lastay veya yıl ekleyin.
operator-= Ayları veya yılları buradan year_month_day_lastçıkarın.
operator local_days Çağdan buna year_month_day_last kadar olan sys_days gün sayısını olarak local_daysalın.
operator sys_days Çağdan buna year_month_day_last kadar olan sys_days gün sayısını olarak sys_daysalın.
year Yılı al.

Üye olmayanlar

Adı Açıklama
operator+ Aylar veya yıllar ekleyin.
operator- Ayları veya yılları çıkarın.
operator== İki year_month_day_last değerin eşit olup olmadığını belirleyin.
operator<=> İki year_month_day_last değeri karşılaştırın. İşleçler >, >=, <=, <, != derleyici tarafından sentezlenir.
operator<< Akışa a year_month_day_last çıkışı.

Gereksinimler

Üst bilgi:<chrono> (C++20'den beri)

Ad alanı:std::chrono

Derleyici Seçeneği:/std:c++latest

Oluşturucular

Belirtilen ay ve yıl için bir year_month_day_last oluşturun.

constexpr year_month_day_last(const year& y, const month_day_last& mdl) noexcept;

Parametreler

mdl içindeki month_day_last ay değeri, yapısında year_month_day_lastdepolanır.

y
year değeri, yapısında year_month_day_lastdepolanır.

Açıklamalar

Tarihleri belirtmek için kullanılan C++20 söz dizimi hakkında bilgi için bkz. operator/

Örnek: Oluşturma year_month_day_last

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

using namespace std::chrono;

int main()
{
    year_month_day_last ymdl{ April / last / 1975 };
    std::cout << ymdl;

    return 0;
}
1975/Apr/last

day

ise ok()true, yılın son gününü temsil eden bir gün döndürür. Bu year_month_day_lastile temsil edilen ay.

constexpr day day() const noexcept;

Dönüş değeri

ise ok()true, ile temsil edilen yılın ve ayın son gününü temsil eden *thisbir day döndürür. Aksi takdirde, dönüş değeri belirtilmez.

local_days

Gün sayısı olarak ay year_month_day_last , gün ve yıl değerini alır.

constexpr explicit operator local_days() const noexcept;

Dönüş değeri

local_days{sys_days{*this}.time_since_epoch()}

Örnek

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

using namespace std::chrono;

int main()
{
    year_month_day_last ymdl{ June / last / 2021 };
    auto ld = local_days(ymdl);
    std::cout << ld.time_since_epoch();

    return 0;
}
18808d

month

Depolanan ay değerini alın.

constexpr month month() const noexcept;

Dönüş değeri

month değeri.

month_day_last

month_day_last Bu year_month_day_lastiçinde depolanan değeri alır.

constexpr month_day_last month_day_last() const noexcept;

Dönüş değeri

Bu month_day_lastyear_month_day_lastiçinde depolanan değer.

operator sys_days

Sistem saatinin dönem içindeki gün sayısı olarak ay, gün ve yılı alır year_month_day_last .

constexpr explicit operator sys_days() const noexcept;

Dönüş değeri

Döndürür sys_days{this->year()/this->month()/this->day()}

Örnek

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

using namespace std::chrono;

int main()
{
    year_month_day_last ymdl{ June / last / 2021 };
    auto sd = sys_days(ymdl);
    std::cout << sd.time_since_epoch();

    return 0;
}
18808d

year

Yılı al.

constexpr year year() const noexcept;

Dönüş değeri

year.

ok

Burada year_month_day_last depolanan ve month_day_last değerinin year geçerli aralıkta olup olmadığını denetleyin.

constexpr bool ok() const noexcept;

Dönüş değeri

true ve değerinin yearmonth_day_last her ikisi de year_month_day_last geçerli aralıktaysa. Tersi durumda false.

operator+=

Buna year_month_day_lastay veya yıl ekleyin.

1) constexpr year_month_day_last& operator+=(const months& m) noexcept;
2) constexpr year_month_day_last& operator+=(const years& y) noexcept;

Parametreler

m
Eklenecek ay sayısı.

y
Eklenecek yıl sayısı.

Dönüş değeri

*this, toplamanın sonucunu yansıtır.

Örnek: operator+=

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

using namespace std::chrono;

int main()
{
    year_month_day_last ymdl{ April / last / 1975 };

    std::cout << ymdl << '\n';

    ymdl += months{1};
    ymdl += years{1};

    std::cout << ymdl;
    
    return 0;
}
1975/Apr/last
1976/May/last

operator-=

Ayları veya yılları buradan year_month_day_lastçıkarın.

1) constexpr year_month_day_last& operator-=(const months& m) noexcept;
2) constexpr year_month_day_last& operator-=(const years& y) noexcept;

Parametreler

m
Çıkarılana ay sayısı.

y
Çıkaracak yıl sayısı.

Dönüş değeri

*this, çıkarma işleminin sonucunu yansıtır.

Örnek: operator-=

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

using namespace std::chrono;

int main()
{
    year_month_day_last ymdl{ April / last / 1975 };

    std::cout << ymdl << '\n';

    ymdl -= months{1};
    ymdl -= years{1};

    std::cout << ymdl;
    
    return 0;
}
1975/Apr/last
1974/Mar/last

Ayrıca bkz.

<chrono>
year
year_month
year_month_day
year_month_weekday
year_month_weekday_last
operator/
Üst Bilgi Dosyaları Başvurusu