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_zone
s. 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