Структура 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_zone
s. Это означает, что вы не можете надежно сопоставить аббревиаций обратно в 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
Справочник по файлам заголовков