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.
Saat dilimi veritabanının bir kopyasını temsil eder.
Sözdizimi
struct tzdb; // C++20
Açıklamalar
IANA (İnternet Atanmış Numaralar Yetkilisi) saat dilimi veritabanının bir kopyasını temsil eder. Veritabanı, her saat dilimi ve yerel saat ayarlamalarının geçmişi hakkında bilgi içerir. Veritabanı hakkında daha fazla bilgi için bkz . Saat Dilimi Veritabanı.
Üyeler
| Üye | Açıklama |
|---|---|
leap_seconds |
Sıralanmış vector<leap_second>bir . A leap_second , artık saniyelerin geçmişte ne zaman eklendiğine ilişkin bir geçmiş sağlar. |
links |
Sıralanmış vector<time_zone_link>bir . time_zone_link belirli bir saat dilimi için alternatif ad sağlar. |
version |
std::string Veritabanı sürümünü içeren. |
zones |
Sıralanmış vector<time_zone>bir . , time_zone belirli bir alan için saat dilimi kurallarının tam geçmişine sahiptir. |
Bu üyelerin nasıl kullanılacağına ilişkin bir örnek için, bu konunun sonundaki Örnek: leap_seconds, links, zones bölümüne bakın.
Üye işlevleri
| Veri Akışı Adı | Açıklama |
|---|---|
current_zone |
Yerel saat dilimini alır. |
locate_zone |
Belirtilen saat dilimini alır. |
current_zone
Bilgisayarın yerel saat dilimini alır.
time_zone* current_zone() const; // C++20
Dönüş değeri
time_zone Bilgisayarın yerel saat dilimini temsil eden işaretçi.
Örnek: current_zone
Bu örnekte geçerli saat dilimini alma gösterilmektedir.
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
auto& db = get_tzdb();
std::cout << "Current zone: " << db.current_zone()->name();
return 0;
}
Current zone: America/Los_Angeles
locate_zone
Belirtilen saat dilimini alır.
const time_zone* locate_zone(string_view name) const;
Örnek: locate_zone
Bu örnekte ada göre saat dilimi alma gösterilmektedir.
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
auto& db = get_tzdb();
std::cout << "Locate zone : " << db.locate_zone("America/New_York")->name() << "\n";
return 0;
}
Locate zone : America/New_York
Örnek: leap_seconds, links, zones
Bu örnek, çeşitli tzdb veri üyelerini kullanmayı gösterir.
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
std::cout << "Leap seconds:\n";
std::for_each(db.leap_seconds.begin(), db.leap_seconds.end(),
[](const leap_second& ls)
{
std::cout << ls.date() << "\n";
});
std::cout << "Links:\n";
std::for_each(db.links.begin(), db.links.end(),
[](const time_zone_link& l)
{
std::cout << "Name: " << l.name() << "\t\tTarget:" << l.target() << '\n';
});
std::cout << "\nTime Zone descriptions:\n";
std::for_each(db.zones.begin(), db.zones.end(),
[](const time_zone& z)
{
std::cout << "Zone: " << z.name() << "\n";
});
return 0;
}
Leap seconds:
1972-07-01 00:00:00
1973-01-01 00:00:00
1974-01-01 00:00:00
...
Links:
Name: ACT Target:Australia/Darwin
Name: AET Target:Australia/Sydney
Name: AGT Target:America/Buenos_Aires
Name: ART Target:Africa/Cairo
...
Time Zone descriptions:
Zone: Africa/Abidjan
Zone: Africa/Accra
Zone: Africa/Addis_Ababa
...
Gereksinimler
Üstbilgi: <chrono>
Ad alanı: std::chrono
Derleyici Seçeneği: /std:c++latest
Ayrıca bkz.
<chrono>
tzdb_list
time_zone_link
Üst Bilgi Dosyaları Başvurusu