Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Gregoryen takvimde haftanın gününü temsil eder. Örneğin, Salı.
Sözdizimi
class weekday; // C++20
Açıklamalar
bir weekday değeri [0, 255] içerebilir, ancak genellikle haftanın bir gününü temsil etmek için [0, 6] değerini tutar.
Sınıfıyla weekday kullanabileceğiniz sabitler için aşağıdaki Weekday sabitlerine bakın.
Üyeler
| Veri Akışı Adı | Açıklama |
|---|---|
| Oluşturucular | oluşturma weekday. |
c_encoding |
weekday Değeri alın. |
iso_encoding |
ISO 8601 weekday değerini alın. |
ok |
Değerin weekday geçerli olup olmadığını denetleyin. |
operator++ |
değerini artırma weekday. |
operator+= |
Belirtilen sayıda haftanın gününü bu weekdayöğesine ekleyin. |
operator-- |
'yi azaltma weekday. |
operator-= |
Belirtilen hafta içi gün sayısını bu weekdayiçinden çıkarın. |
operator[] |
Bu weekdayiçinden bir weekday_indexed veya weekday_last oluşturun. |
Üye olmayanlar
| Veri Akışı Adı | Açıklama |
|---|---|
from_stream |
Belirtilen biçimi kullanarak verilen akıştan bir weekday ayrıştırın. |
operator+ |
Bu weekdayöğesine belirtilen sayıda hafta içi günü ekleyin. |
operator- |
Belirtilen hafta içi gün sayısını bu weekdayiçinden çıkarın veya iki weekday nesne arasındaki farkı bulun. |
operator== |
İki weekday nesnenin eşit olup olmadığını belirleyin. |
operator<< |
Akışa a weekday çıkışı. |
Gereksinimler
Üst bilgi: <chrono> C++20'den beri
Ad alanı: std::chrono
Derleyici Seçeneği: /std:c++latest
Oluşturucular
bir weekdayoluşturur.
1) weekday() = default; // C++20
2) explicit constexpr weekday(unsigned wd) noexcept; // C++20
3) constexpr weekday(const sys_days& dp) noexcept; // C++20
4) explicit constexpr weekday(const local_days& dp) noexcept; // C++20
Parametreler
dp
Haftanın dpgününü kullanarak bir weekday oluşturun.
wd
değeriyle wdbir weekday oluşturur.
Açıklamalar
1) Varsayılan oluşturucu haftanın günü değerini başlatmaz.
2) Belirtilen değerle bir weekday oluşturur.
7 ise wd , weekday değeri 0 ile oluşturulur.
255'in üzerindeki değerlerle başlatmayın; aksi takdirde sonuçta weekday belirtilmeyen bir değer olur.
3) Haftanın hangi gününün değerine dpkarşılık geldiğini std::chrono::sys_days hesaplar ve o günü kullanarak bir weekday oluşturur.
4) değerine dpkarşılık gelen std::chrono::local_days haftanın gününü hesaplar ve o günü kullanarak bir weekday oluşturur. kullanarak weekday(std::chrono::sys_days(dp.time_since_epoch()))oluşturduğunuz weekday gibi davranır.
Örnek: Oluşturma weekday
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
weekday wd{ Wednesday };
weekday wd2{ 3 };
std::cout << wd << '\n' << wd2;
return 0;
}
Wednesday
Wednesday
c_encoding
constexpr unsigned c_encoding() const noexcept;
Dönüş değeri
Haftanın günü değeri.
iso_encoding
Hafta içi değeri, ancak Pazar (0) değeri ISO 8601 başına 7 olarak yorumlanır.
constexpr unsigned iso_encoding() const noexcept;
Dönüş değeri
Haftanın günü değeri.
ok
Burada weekday depolanan değerin geçerli aralıkta olup olmadığını denetleyin.
constexpr bool is_leap() const noexcept;
Dönüş değeri
true hafta içi değeri [0, 6] aralığındaysa. Tersi durumda false.
operator++
Haftanın günü değerine 1 ekleyin.
1) constexpr std::chrono::weekday& operator++() noexcept;
2) constexpr std::chrono::weekday operator++(int) noexcept;
Dönüş değeri
1) Artırıldıktan sonraki haftanın günü başvurusu *this (sonek artışı).
2) Artırılamadan önce öğesinin weekdaybir kopyası (bir ön ek artışı).
Örnek: operator++
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std;
using namespace std::chrono;
int main()
{
std::chrono::weekday wd{Thursday};
std::cout << wd << " " << ++wd << "\n"; // constexpr weekday& operator++() noexcept
std::cout << wd << " " << wd++ << "\n"; // constexpr weekday operator++(int) noexcept
std::cout << wd << "\n";
return 0;
}
Thu Fri
Fri Fri
Sat
Açıklamalar
Artımlı değer modulo 7'dir. Her zaman [0, 6] aralığında olacaktır.
operator--
Değerden 1 çıkarın weekday .
1) constexpr std::chrono::weekday& operator--() noexcept;
2) constexpr std::chrono::weekday operator--(int) noexcept;
Dönüş değeri
1) Geri alındıktan sonraki başvuru *this weekday (sonek azaltma).
2) Azaltmadan önceki bir kopyası weekday (bir ön ek azaltma).
Örnek: operator--
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std;
using namespace std::chrono;
int main()
{
weekday y = weekday{Thursday};
cout << y << " " << --y << "\n"; // constexpr weekday& operator--() noexcept
cout << y << " " << y-- << "\n"; // constexpr weekday operator--(int) noexcept
cout << y << "\n";
return 0;
}
Thu Wed
Wed Wed
Tue
Açıklamalar
Azalan sonuç 0'dan küçükse 6 olarak ayarlanır.
operator+=
bir weekdayöğesine gün ekleme.
constexpr weekday& operator+=(const days& d) noexcept;
Parametreler
d
Eklenecek gün sayısı.
Dönüş değeri
değeridir *this + d. Sonuç[0, 6] aralığında modulo 7 olacaktır.
operator-=
günlerini içinden weekdayçıkarın.
constexpr weekday& operator-=(const days& d) noexcept;
Parametreler
d
Çıkarılana gün sayısı.
Dönüş değeri
değeridir *this - d. Sonuç[0, 6] aralığında modulo 7 olacaktır.
operator[]
Bu weekdayiçinden bir weekday_indexed veya weekday_last oluşturun.
1) std::chrono::weekday_indexed(*this, index) // C++20
2) std::chrono::weekday_last(*this) // C++20
Dönüş değeri
1) std::chrono::weekday_indexed(*this, index)
2) std::chrono::weekday_last(*this)
Örnek: operator[]
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std;
using namespace std::chrono;
int main()
{
constexpr auto firstMondayInJanuary =
year_month_day{ Monday[2] / January / 2021y };
std::cout << firstMondayInJanuary << "\n";
constexpr auto lastMondayInJanuary =
year_month_day{ Tuesday[last] / January / 2021y };
std::cout << lastMondayInJanuary << "\n";
}
2021-01-11
2021-01-26
Hafta içi sabitleri
(C++20) Üst <chrono> bilgi, kodunuzun daha rahat olması, tür güvenliği ve sürdürülebilirliği için birlikte weekday kullanabileceğiniz aşağıdaki sabitleri tanımlar. Bu sabitler kapsam içinde olduğunda std::chrono kapsam içindedir.
// Calendrical constants
inline constexpr std::chrono::weekday Sunday{0};
inline constexpr std::chrono::weekday Monday{1};
inline constexpr std::chrono::weekday Tuesday{2};
inline constexpr std::chrono::weekday Wednesday{3};
inline constexpr std::chrono::weekday Thursday{4};
inline constexpr std::chrono::weekday Friday{5};
inline constexpr std::chrono::weekday Saturday{6};
Ayrıca bkz.
weekday_last sınıfı
weekday_indexed sınıfı
<chrono>
Üst Bilgi Dosyaları Başvurusu