Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Reprezentuje kopię bazy danych strefy czasowej.
Składnia
struct tzdb; // C++20
Uwagi
Reprezentuje kopię bazy danych strefy czasowej IANA (Internet Assigned Numbers Authority). Baza danych zawiera informacje o każdej strefie czasowej i historii korekt czasu lokalnego. Aby uzyskać więcej informacji na temat bazy danych, zobacz Baza danych strefy czasowej.
Elementy członkowskie
| Element członkowski | opis |
|---|---|
leap_seconds |
Posortowana vector<leap_second>. Element A leap_second zawiera historię dodawania sekund przestępnych w przeszłości. |
links |
Posortowana vector<time_zone_link>. Time_zone_link zawiera alternatywną nazwę dla danej strefy czasowej. |
version |
Element std::string zawierający wersję bazy danych. |
zones |
Posortowana vector<time_zone>. Element time_zone ma pełną historię reguł strefy czasowej dla określonego obszaru. |
Aby zapoznać się z przykładem używania tych elementów członkowskich, zobacz Przykład: leap_seconds, links, zones w pobliżu końca tego tematu.
Funkcje składowe
| Nazwa/nazwisko | opis |
|---|---|
current_zone |
Pobiera lokalną strefę czasową. |
locate_zone |
Pobiera określoną strefę czasową. |
current_zone
Pobiera lokalną strefę czasową komputera.
time_zone* current_zone() const; // C++20
Wartość zwracana
Wskaźnik do time_zone , który reprezentuje lokalną strefę czasową komputera.
Przykład: current_zone
W tym przykładzie pokazano pobieranie bieżącej strefy czasowej.
// 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
Pobiera określoną strefę czasową.
const time_zone* locate_zone(string_view name) const;
Przykład: locate_zone
W tym przykładzie pokazano pobieranie strefy czasowej według nazwy.
// 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
Przykład: leap_seconds, links, zones
W tym przykładzie pokazano użycie różnych tzdb elementów członkowskich danych.
// 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
...
Wymagania
Nagłówek: <chrono>
Przestrzeń nazw: std::chrono
Opcja kompilatora: /std:c++latest
Zobacz też
<chrono>
tzdb_list
time_zone_link
Odwołanie do plików nagłówka