Aracılığıyla paylaş


year_month_weekday_last sınıfı

Belirli bir yıl, ay ve ayın son hafta içi.

Sözdizimi

class year_month_weekday_last; // C++20

Açıklamalar

year_month_weekday_last yıl ve ay odaklı aritmetiği destekler, ancak gün odaklı aritmetiği desteklemez. Gün odaklı aritmetik için dönüştürmeyi sys_days kullanarak gün odaklı aritmetiği destekleyen öğesine sys_daysdönüştürün.

year_month_weekday_last önemsiz olarak kopyalanabilir ve standart düzen sınıf türüdür.

Üyeler

Veri Akışı Adı Açıklama
Constructor Belirtilen ay ve hafta içi ile bir year_month_weekday_last oluşturun.
month Ay değerini alın.
ok geçerli olup olmadığını year_month_weekday_last denetleyin.
operator+= Belirtilen sayıda ay veya yıl ekleyin.
operator-= Belirtilen ay veya yıl sayısını çıkarın.
operator local_days Çağdan buna year_month_weekday_last kadar olan system_clock gün sayısını olarak local_daysalın.
operator sys_days Çağdan buna year_month_weekday_last kadar olan system_clock gün sayısını olarak sys_daysalın.
weekday Haftanın gününü al.
weekday_last içinde depolanmış year_month_weekday_lastolarak weekday_last alın.
year Yılı al.

Üye olmayanlar

Veri Akışı Adı Açıklama
operator+ Aylar veya yıllar ekleyin.
operator- Ayları veya yılları çıkarın.
operator== İki year_month_weekday_last değerin eşit olup olmadığını belirleyin.
operator<< Verilen akışa a year_month_weekday_last çıkışı.

Gereksinimler

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

Ad alanı: std::chrono

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

Oluşturucu

bir year_month_weekday_lastoluşturur.

constexpr year_month_weekday_last(const year& y, const month& m, const weekday_last& wdl) noexcept

Parametreler

m
month değeri.

wdl
weekday_last değeri.

y
year değeri.

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

Örnek: Oluşturma year_month_weekday_last

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

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ 1997y / January / Wednesday[last] };
    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]

month

Ay değerini alın.

constexpr month month() const noexcept;

Dönüş değeri

month değeri.

ok

Burada year_month_weekday_last depolanan değerin geçerli olup olmadığını denetleyin. Bu işlevin yeardöndürebilmesi trueiçin , ve weekday_last içinde year_month_weekday_last depolananların tümü olmalıdırok. month Aksi takdirde döndürür false.

constexpr bool ok() const noexcept;

Dönüş değeri

trueyear_month_weekday_last değeri geçerliyse. Tersi durumda false.
Ayear_month_weekday_last, , weekday_indexedve year tüm geçerliyse monthgeçerlidir.

operator+=

Buna year_month_weekday_lastay veya yıl ekleyin.

1) constexpr year_month_weekday_last& operator+=(const months& m) noexcept;
2) constexpr year_month_weekday_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_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
    std::cout << ymwl << '\n';

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

    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]
1998/Feb/Wed[last]

operator-=

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

1) constexpr year_month_weekday_last& operator-=(const months& m) noexcept;
2) constexpr year_month_weekday_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_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
    std::cout << ymwl << '\n';

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

    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]
1995/Dec/Wed[last]

operator local_days

Dönem (1/1/1970) ile buna kadar olan system_clock gün sayısını şu year_month_weekday_last şekilde alın: local_days

constexpr explicit operator local_days() const noexcept;

Dönüş değeri

ise ok(), gün sayısını olarak local_days{sys_days{*this}.time_since_epoch()}döndürür. Aksi takdirde döndürülen değer belirtilmez.

operator sys_days

Dönem (1/1/1970) ile buna year_month_day kadar olan gün system_clock sayısını olarak sys_daysalır.

constexpr operator sys_days() const noexcept;

Dönüş değeri

iseok() == true, son weekday() year() / month() değerini temsil eden bir sys_days döndürür (not: / bölüm değil tarih işlecidir). Aksi takdirde döndürülen değer belirtilmez.

weekday

weekdayöğesini alın.

constexpr weekday weekday() const noexcept;

Dönüş değeri

weekday.

weekday_last

içinde depolanmış year_month_weekday_lastolarak weekday_last alın.

constexpr weekday_indexed weekday_last() const noexcept;

Dönüş değeri

weekday_last.

year

Yıl değerini alın.

constexpr year year() const noexcept;

Dönüş değeri

year değeri.

Ayrıca bkz.

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