Compartilhar via


Struct sys_info

Fornece uma interface de baixo nível para informações de fuso horário.

Sintaxe

struct sys_info;

Comentários

Fornece uma interface de baixo nível para informações de fuso horário sobre o resultado da conversão de um sys_time em um local_time.

Membros

Função Descrição
abbrev A abreviação usada para time_zone e time_point associados.
begin, end O intervalo ao qual offset e abbrev se aplicam para o fuso horário associado.
offset O deslocamento UTC (Tempo Universal Coordenado) em vigor para o arquivo .time_zone time_point
save Diferença de ajuste de horário de verão.

Não membros

Função Descrição
operator<< Gere um sys_info para um fluxo.

abbrev

A abreviação usada para time_zone e time_point associados.

string abbrev;

Valor retornado

A abreviação.

Comentários

Abreviações não são exclusivas entre os time_zones. Isso significa que você não pode mapear abreviações de forma confiável de volta para uma diferença time_zone e UTC.

begin, end

Fornece o intervalo sobre o fuso horário associado, [begin, end), ao qual offset e abbrev se aplicam.

sys_seconds begin;
sys_seconds end;

Valor retornado

Os sys_seconds retornados são diferenças relativas ao time_point associado.

offset

A diferença UTC vigente para o fuso horário e time_point associado.

seconds offset;

Valor retornado

A relação entre local_time e sys_time é: offset = local_time - sys_time.

save

Indica se o sys_info está horário de verão e, se for o caso, sugere que a diferença desse fuso horário pode ser usado se não estivesse no horário de verão.

minutes save;

Valor retornado

Se save != 0min, o fuso horário está no horário de verão no time_point associado. Nesse caso, offset-save sugere qual diferença esse time_zone pode usar se não for no horário de verão.

Essa diferença não é autoritativa. Para obter uma diferença autoritativa, compare com uma consulta em relação ao fuso horário usando um time_point que não cai durante o horário de verão. Ou seja, compare com um time_point que resulta em um valor de zero save.

Exemplo: obter um 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

Requisitos

Cabeçalho: <chrono>

Namespace: std::chrono

Opção do compilador: /std:c++latest

<chrono>
file_clock class
high_resolution_clock
Structlocal_t
Structsystem_clock
tai_clock classe
utc_clock classe
Referência de Arquivos de Cabeçalho