Share via


sys_info-Struktur

Stellt eine Schnittstelle auf niedriger Ebene für Zeitzoneninformationen bereit.

Syntax

struct sys_info;

Hinweise

Stellt eine Low-Level-Schnittstelle zu Zeitzoneninformationen zum Ergebnis der Konvertierung eines sys_time in ein local_time.

Member

Funktion Beschreibung
abbrev Die Abkürzung für die zugeordnete time_zone und time_point.
begin, end Der Bereich, auf den die offset zugeordnete Zeitzone angewendet und abbrev angewendet wird.
offset Der Utc-Offset (Universal Time Coordinated) für die zugeordnete time_zone und time_point.
save Zeitausgleich für Sommerzeit.

Nicht-Member

Funktion Beschreibung
operator<< Ausgabe eines sys_info Datenstroms.

abbrev

Die Abkürzung für die zugeordnete time_zone und time_point.

string abbrev;

Rückgabewert

Die Abkürzung.

Hinweise

Abkürzungen sind bei den time_zoneEinzelnen nicht eindeutig. Dies bedeutet, dass Sie Abkürzungen nicht zuverlässig zurück zu einem time_zone UTC-Offset zuordnen können.

begin, end

Stellt den Bereich über die zugeordnete Zeitzone bereit, [begin, end)auf die die offset Anwendung angewendet wird abbrev .

sys_seconds begin;
sys_seconds end;

Rückgabewert

Die zurückgegebenen sys_seconds Sind Offsets relativ zum zugeordneten time_point.

offset

Der UTC-Offset in Kraft für die zugeordnete Zeitzone und time_point.

seconds offset;

Rückgabewert

Die Beziehung zwischen local_time und sys_time ist: offset = local_time - sys_time.

save

Gibt an, ob die sys_info Sommerzeit aktiviert ist. Andernfalls schlägt die Offsets für diese Zeitzone vor, wenn sie nicht auf sommerzeitsparend war.

minutes save;

Rückgabewert

Wenn save != 0minsich die Zeitzone auf Sommerzeit im zugehörigen Bereich time_pointbefindet. In diesem Fall schlägt vor, welcher Offset dies time_zone verwenden könnte, offset-save wenn sie nicht auf Sommerzeit.

Dieser Offset ist nicht autoritativ. Um einen autoritativen Offset zu erhalten, vergleichen Sie mit einer Abfrage mit einer Zeitzone, time_point die nicht während der Sommerzeit fällt. Das heißt, vergleichen Sie mit einem time_point Wert save von Null.

Beispiel: Abrufen eines sys_info

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    sys_time<system_clock::duration> st = system_clock::now();
    
    const auto& timeZoneDatabase = get_tzdb();
    const auto& currentZone = timeZoneDatabase.current_zone();
    auto sysInfo = currentZone->get_info(st);

    std::cout << sysInfo << "\n";

    return 0;
}
begin: 2021-03-14 10:00:00, end: 2021-11-07 09:00:00, offset: -25200s, save: 60min, abbrev: PDT

Anforderungen

Header<chrono>:

Namespacestd::chrono:

Compileroption:/std:c++latest

<chrono>
file_clock class
high_resolution_clock
local_t-Struktur
system_clock-Struktur
tai_clock-Klasse
utc_clock-Klasse
Headerdateienreferenz