Поделиться через


Структура sys_info

Предоставляет низкоуровневый интерфейс для сведений часового пояса.

Синтаксис

struct sys_info;

Замечания

Предоставляет низкоуровневый интерфейс для сведений часового пояса о результате преобразования в sys_time объект local_time.

Участники

Function Description
abbrev Аббревиатура, используемая для связанного time_zone и time_point.
begin, end Диапазон, к которому offset abbrev применяется связанный часовой пояс.
offset Смещение по универсальному времени (UTC) действует для связанного time_zone и time_point.
save Смещение корректировки летнего времени.

Не являющиеся членами

Function Description
operator<< Выводится sys_info в поток.

abbrev

Аббревиатура, используемая для связанного time_zone и time_point.

string abbrev;

Возвращаемое значение

Сокращение.

Замечания

Аббревиаций не являются уникальными среди time_zones. Это означает, что вы не можете надежно сопоставить аббревиаций обратно в time_zone смещение в формате UTC.

begin, end

Предоставляет диапазон по связанному часовом поясу, [begin, end)к которому применяется и abbrev к которому offset относится.

sys_seconds begin;
sys_seconds end;

Возвращаемое значение

Возвращаемые sys_seconds являются смещениями относительно связанного time_point.

offset

Смещение в формате UTC действует для связанного часового пояса и time_point.

seconds offset;

Возвращаемое значение

Связь между local_time и sys_time следующим: offset = local_time - sys_time.

save

Указывает, находится ли sys_info часовой пояс в летнем времени и, если да, предполагает смещение этого часового пояса, если оно не было на летнее время.

minutes save;

Возвращаемое значение

Если save != 0minчасовой пояс находится в летнем времени в связанном time_point. В этом случае предполагается, какое смещение это time_zone может использовать, offset-save если это не в летнее время.

Это смещение не является достоверным. Чтобы получить авторитетное смещение, сравните запрос с часовым поясом с использованием time_point нерабоого времени в дневное время. То есть сравните с time_point нулевым значением save .

Пример: получение 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

Требования

Заголовок: <chrono>

Пространство имен: std::chrono

Параметр компилятора: /std:c++latest

<chrono>
file_clock class
high_resolution_clock
Структура local_t
Структура system_clock
Класс tai_clock
Класс utc_clock
Справочник по файлам заголовков