utc_clock
sınıfı
Zaman zaman Greenwich Saati (GMT) veya Zulu saati olarak da adlandırılan Eşgüdümlü Evrensel Saat (UTC) saati. Yerel saat, saat diliminize bağlı olarak UTC saatinden ayarlanır.
Sözdizimi
class utc_clock; // C++20
Açıklamalar
Bu saat, 1 Ocak 1970 Perşembe günü saat 00:00:00 UTC'den bu yana geçen süreyi ölçer. Bu saat artık saniyeleri hesaplar ve dünyanın dört bir yanındaki sivil zamanın temelini oluşturur.
UTC saati oranı, saati izlemek için atomik saatler kullanan Uluslararası Atomik Saati (TAI) temel alır. Ancak artık saniye, UTC saati ile UT1 (güneş saati) arasındaki farkı +- 0,9 saniye içinde tutmak için zaman zaman UTC saatine eklenir.
Atomik saatler tarafından tutulan zaman ile dünyanın dönüşünü takip ederek tutulan süre arasında bir tutarsızlık vardır. Bunun nedeni, dünyanın dönüş hızının düzensiz olması ve genel olarak her 1,5 yılda bir yaklaşık bir saniye yavaşlamadır (bazen dünyanın dönüş hızı artsa da). Artık saniye ayarı UTC izleme süresini bir günün ortalama uzunluğunun bir saniye içinde tutar.
Bu yazıdan itibaren artık saniye ekleme uygulaması 1972'de başladığından beri 27 artık saniye eklenmiştir. Uluslararası Toprak Döndürme ve Referans Sistemleri Hizmeti (IERS), artık saniyenin ne zaman ekleneceğini belirler. Artık saniye ekleme işlemine "artık saniye ekleme" denir. Artık saniye eklendiğinde, saat gece yarısına yaklaştığında 23 saat 59 dakika 59 saniyeden 23 saat 59 dakika 60 saniyeye (eklenen artık saniye) ve ardından 0 saat 0 dakika 0 saniyeye (gece yarısı) kadar devam eder. Geçmişte artık saniyeler 30 Haziran veya 31 Aralık'ta eklenmiştir.
UTC saati, tanıma göre TAI'nin (atomik saat) 10 saniye gerisinde başlar. 1972'de TAI süresine, bu noktada biriken artık saniyelere uyum sağlamak için 10 saniye eklendi. O zamandan bu yana 27 artık saniye daha eklendikten sonra UTC saati şu anda TAI (atomik saat) süresinin 37 saniye gerisindedir.
Üyeler
Veri Akışı Adı | Açıklama |
---|---|
from_sys |
Duruk. a'yi sys_time öğesine utc_time dönüştürür. |
now |
Duruk. Geçerli saati döndürür. |
to_sys |
Duruk. a'yi utc_time öğesine sys_time dönüştürür. |
Üye olmayanlar
Veri Akışı Adı | Açıklama |
---|---|
from_stream |
Belirtilen biçimi kullanarak verilen akıştan bir utc_time ayrıştırın. |
get_leap_second_info |
Sağlanan saatin artık saniye eklendiği zamanı belirtip belirtmediğini belirten bir leap_second_info alır. Ayrıca 1 Ocak 1970 ile belirtilen süre arasındaki tüm artık saniyelerin toplamını içerir. |
operator<< |
Verilen akışa a utc_time çıkışı. |
Kolaylık türü diğer adları
Veri Akışı Adı | Açıklama |
---|---|
utc_clock::duration |
Microsoft'un uygulamasında bu, için duration<system_clock::rep, system_clock::period> bir eş anlamlıdır. 100 nanosaniyelik birimlerle ölçülen süreyi temsil eder. |
utc_clock::period |
Microsoft'un uygulaması bunu için system_clock::period bir eş anlamlı olarak tanımlar. Süredeki her bir değer çizgisi arasındaki süreyi saniye cinsinden (100 nanosaniye) temsil eder. |
utc_clock::rep |
Bu saatin utc_clock::duration integral birimlerini temsil etmek için kullanılan türü (long long ) için bir eş anlamlı. |
utc_clock::time_point |
için time_point<utc_clock> bir eş anlamlı. Bu saat için bir time_point temsil etmek için kullanılır. |
İlgili
Veri Akışı Adı | Açıklama |
---|---|
utc_seconds |
için bir eş anlamlı using utc_seconds = utc_time<seconds>; |
utc_time |
için bir eş anlamlısı template<class Duration> using utc_time = time_point<utc_clock, Duration>; , için bir time_point utc_clock temsil eder. Süreyi belirtirsiniz. Tanımlandığı yer: std::chrono |
Genel Sabitler
Veri Akışı Adı | Açıklama |
---|---|
[utc_clock::is_steady constant] (#is_steady_constant) |
Saat türünün sabit olup olmadığını gösterir. Değeri şeklindedir false . |
Gereksinimler
Üst bilgi: <chrono>
(C++20'den beri)
Ad alanı: std::chrono
Derleyici Seçeneği: /std:c++latest
from_sys
bir sys_time
utc_time
öğesine dönüştüren statik yöntem.
template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
from_sys(const sys_time<Duration>& t);
Parametreler
t
sys_time
Dönüştürülecek.
Dönüş değeri
utc_time
değerine en yakın zamana ayarlanmış bir sys_time
t
küme. Doğrudan eşleme yoksa, artık saniye ekleme işlemi sırasında time_point ve artık saniyenin eklenmesinden önceki son temsil edilebilir değeri sys_time
döndürülür.
to_sys
bir utc_time
sys_time
öğesine dönüştüren statik yöntem.
template<class Duration>
static sys_time<common_type_t<Duration, seconds>>
to_sys(const utc_time<Duration>& t);
Parametreler
t
utc_time
Dönüştürülecek.
Dönüş Değeri
olarak sys_time
zaman t
içindeki eşdeğer noktaya ayarlanır. Doğrudan eşleme yoksa, artık saniye eklendiğinde belirli bir noktayı temsil eden t
bir artık saniye eklemeden önceki son temsil edilebilir değerdir. Artık saniye ekleme işlemine "artık saniye ekleme" denir. Artık saniye eklendiğinde, gece yarısına yaklaştığı zaman 23 saat 59 dakika 59 saniye ile 23 saat 59 dakika 60 saniye (eklenen artık saniye) ve ardından 0 saat 0 dakika 0 saniyeye (gece yarısı) ilerler. Geçmişte artık saniyeler 30 Haziran veya 31 Aralık'ta eklenmiştir.
is_steady
Saat türünün sabit olup olmadığını belirten statik değer. Microsoft'un uygulamasında: is_steady_constant
false
. utc_clock
sabit olmadığından, bu saati güvenilir bir şekilde kullanarak bir olaydan önceki süreyi, bir olaydan sonraki süreyi alamaz ve bu süre boyunca ayarlanabileceği için olayın süresini almak için bu saati çıkaramazsınız.
static const bool is_steady = false;
now
Geçerli UTC saatini döndüren statik yöntem. Döndürülen süre artık saniyeleri içerir.
static time_point now() noexcept;
Dönüş Değeri
time_point
Geçerli saati temsil eden nesne. Döndürülen zaman noktası etkili bir şekilde from_sys(system_clock::now())
olur.
Ayrıca bkz.
<chrono>
file_clock class
gps_clock class
high_resolution_clock
local_t
Yapı
steady_clock
Yapı
system_clock
Yapı
tai_clock
sınıfı
Ü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