sys_info Struct

Zapewnia interfejs niskiego poziomu do informacji o strefie czasowej.

Składnia

struct sys_info;

Uwagi

Udostępnia interfejs niskiego poziomu do informacji o strefie czasowej o wyniku konwersji obiektu sys_time na local_time.

Elementy członkowskie

Function opis
abbrev Skrót używany dla skojarzonych i time_zonetime_point.
begin, end Zakres, offset do którego ma zastosowanie element i abbrev dla skojarzonej strefy czasowej.
offset Przesunięcie uniwersalnego czasu koordynowanego (UTC) dla skojarzonych elementów time_zone i time_point.
save Przesunięcie korekty czasu letniego.

Inne niż elementy członkowskie

Function opis
operator<< sys_info Wyprowadzanie elementu do strumienia.

abbrev

Skrót używany dla skojarzonych i time_zonetime_point.

string abbrev;

Wartość zwracana

Skrót.

Uwagi

Skróty nie są unikatowe wśród s time_zone. Oznacza to, że nie można niezawodnie mapować skrótów z powrotem na przesunięcie i time_zone UTC.

begin, end

Udostępnia zakres w skojarzonej strefie czasowej , [begin, end)do którego offset mają zastosowanie i abbrev .

sys_seconds begin;
sys_seconds end;

Wartość zwracana

Zwrócone sys_seconds wartości są przesunięciami względem skojarzonego elementu time_point.

offset

Przesunięcie UTC w mocy dla skojarzonej strefy czasowej i time_point.

seconds offset;

Wartość zwracana

Relacja między elementami local_time i sys_time to: offset = local_time - sys_time.

save

Wskazuje, czy sys_info czas letni jest ustawiony na czas letni, a jeśli tak, sugeruje przesunięcie tej strefy czasowej może być używane, jeśli nie było to czas letni.

minutes save;

Wartość zwracana

Jeśli save != 0min, strefa czasowa jest w czasie letnim w skojarzonym obiekcie time_point. W takim przypadku sugeruje, jakie przesunięcie time_zone może być używane, offset-save jeśli nie w czasie letnim.

To przesunięcie nie jest autorytatywne. Aby uzyskać przesunięcie autorytatywne, porównaj je z zapytaniem względem strefy czasowej przy użyciu elementu time_point , który nie przypada w czasie letnim. Oznacza to, że porównanie z wartością time_pointsave powoduje, że wartość zero.

Przykład: uzyskiwanie 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

Wymagania

Nagłówka:<chrono>

Obszaru nazw:std::chrono

Opcja kompilatora:/std:c++latest

<chrono>
file_clock class
high_resolution_clock
local_t Struct
system_clock Struct
Klasa tai_clock
Klasa utc_clock
Odwołanie do plików nagłówka