clock_time_conversion
Yapı
Bir saatin bir saat türünden diğerine nasıl dönüştürüldüğünü time_point
belirten ve zaman içindeki eşdeğer noktayı koruyan bir özellik.
Sözdizimi
// C++20
1) template<class Dest, class Source> struct clock_time_conversion {};
2) template<class Clock> struct clock_time_conversion<Clock, Clock>;
3) template<> struct clock_time_conversion<system_clock, system_clock>;
4) template<> struct clock_time_conversion<utc_clock, utc_clock>;
5) template<> struct clock_time_conversion<system_clock, utc_clock>;
6) template<> struct clock_time_conversion<utc_clock, system_clock>;
7) template<class Clock> struct clock_time_conversion<Clock, system_clock>;
8) template<class Clock> struct clock_time_conversion<system_clock, Clock>;
9) template<class Clock> struct clock_time_conversion<Clock, utc_clock>;
10) template<class Clock> struct clock_time_conversion<utc_clock, Clock>;
Şablon parametreleri
Clock
Dönüştürülecek/dönüştürülecek bir saat türü.
Dest
Dönüştürülecek saat türü.
Source
Dönüştürülecek saat türü.
Özellikler aşağıdaki dönüştürmeleri sağlar:
1) Yalnızca özelleştirilebilir şekilde tanımlanan boş bir yapı.
2-4) Kimlik dönüştürmeleri. Geçirdiğiniz saati döndürür.
5-6) ve utc_time
çağrıları utc_clock::to_sys
arasında sys_time
dönüştürme veya utc_clock::from_sys
dönüştürmenin yönüne bağlı olarak.
7-8) Belirtilen saat ve from_sys
'yi desteklediğinde to_sys
belirtilen saat arasında sys_time
dönüştürme işlemi, dönüştürmenin yönüne bağlı olarak veya Clock::from_sys
çağrısıyla Clock::to_sys
sonuçlandığında.
9-10) Belirtilen saat ve to_sys
'yi desteklediğinde from_utc
ve arasında utc_time
dönüştürme işlemi, dönüştürmenin yönüne bağlı olarak veya Clock::from_utc
çağrısıyla Clock::to_utc
sonuçlandığında.
Üyeler
Veri Akışı Adı | Açıklama |
---|---|
operator () |
Bir time_point saati bir saatten diğerine dönüştürür. |
Açıklamalar
Bu özelliği genellikle doğrudan kodunuzda kullanmayacaksınız. Dönüştürme işlevi tarafından clock_cast
kullanılır.
Gereksinimler
Üstbilgi:<chrono
>
Ad alanı: std::chrono
Derleyici Seçeneği: /std:c++latest
operator()
Zaman içindeki eşdeğer noktayı korurken bir time_point
saat türünü başka bir saat türüne dönüştürür.
Sözdizimi
1)
template <class Duration>
time_point<Clock, Duration> operator()(const time_point<Clock, Duration>& t) const;
2)
template <class Duration>
sys_time<Duration> operator()(const sys_time<Duration> & t) const;
3)
template <class Duration>
utc_time<Duration> operator()(const utc_time<Duration>& t) const;
4)
template <class Duration>
sys_time<Duration> operator()(const utc_time<Duration>& t) const;
5)
template <class Duration>
utc_time<Duration> operator()(const sys_time<Duration>& t) const;
Parametreler
t
time_point
Dönüştürülecek.
Dönüş değeri
1-3) Kimlik dönüştürmeleri. Dönüştürme yok. Hiçbir değişiklik yapmadan döndürür t
.
4) döndürür utc_clock::to_sys(t)
.
5) Döndürür utc_clock::from_sys(t)
.
Kesinti kılavuzları
için template <class Duration> operator()
aşağıdaki kesinti kılavuzları sağlanır:
1)
template <class Duration> auto operator()(const sys_time<Duration>& t) const
-> decltype(Clock::from_sys(t));
2)
template <class Duration> auto operator()(const time_point<SourceClock, Duration>& t) const
-> decltype(Clock::to_sys(t));
3)
template <class Duration> auto operator()(const utc_time<Duration>& t) const
-> decltype(Clock::from_utc(t));
4)
template <class Duration> auto operator()(const time_point<Clock, Duration>& t) const
-> decltype(Clock::to_utc(t));
1) aşırı yükleme çözünürlüğüne yalnızca desteklendiğinde from_sys()
ve döndürdüğünde Clock
katılırtime_point<Clock, Duration>
.
2) aşırı yükleme çözümüne yalnızca desteklendiğinde to_sys()
ve döndürdüğünde Clock
katılırsys_time<Duration>
.
3) aşırı yükleme çözümüne yalnızca desteklendiğinde from_utc()
ve döndürdüğünde Clock
katılırtime_point<Clock, Duration>
.
4) aşırı yükleme çözümüne yalnızca desteklendiğinde to_utc()
ve döndürdüğünde Clock
katılırutc_time<Duration>
.
Örnek: clock_time_conversion
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
auto sd = sys_days{ 2021y / July / 26 };
auto time = clock_time_conversion<utc_clock, system_clock>{}(sd);
std::cout << time << "\n";
return 0;
}
2021-07-26 00:00:00
Ayrıca bkz.
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