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_days
dö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_last iç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_last ay 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_days alın. |
operator sys_days |
Çağdan buna year_month_day_last kadar olan sys_days gün sayısını olarak sys_days alı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_last
depolanır.
y
year
değeri, yapısında year_month_day_last
depolanı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_last
ile 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 *this
bir 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_last
içinde depolanan değeri alır.
constexpr month_day_last month_day_last() const noexcept;
Dönüş değeri
Bu month_day_last
year_month_day_last
iç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 year
month_day_last
her ikisi de year_month_day_last
geçerli aralıktaysa. Tersi durumda false
.
operator+=
Buna year_month_day_last
ay 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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin