Share via


Estrutura system_clock

Um relógio baseado no relógio de tempo real do sistema.

Sintaxe

struct system_clock;

Comentários

Este relógio representa o relógio de parede de todo o sistema.

O system_clock não é monotônico ou estável.

Um relógio é monotônico se o valor retornado por uma primeira chamada para now() for sempre menor ou igual ao valor retornado por uma chamada posterior para now(). O system_clock não é monotônico porque a hora do sistema pode ser ajustada entre chamadas para now().

Um relógio será estável se ele for monotônico e se o tempo entre os tiques do relógio for constante. Como o system_clock não é monotônico, ele não é estável, embora o tempo entre tiques de relógio seja constante. Você só pode usar um relógio estável para tomar o tempo antes de um evento, o tempo depois de um evento e subtraí-los de forma confiável para obter a duração do evento, porque um relógio estável não será ajustado durante esse tempo.

Membros

Aliases de tipo de conveniência

Nome Descrição
system_clock::duration Na implementação da Microsoft, isso é sinônimo de duration<long long, ratio<1, 10'000'000>. Isso representa uma duração de tempo medida em unidades de 100 nanossegundos.
system_clock::period Na implementação da Microsoft, isso é sinônimo de ratio<1, 10'000'000>. Representa o tempo em frações de segundo (100 nanossegundos) entre cada tique na duração.
system_clock::rep Um sinônimo de long long. É o tipo usado para representar as unidades integrais no system_clock::duration deste relógio.
system_clock::time_point Um sinônimo de time_point<system_clock>. Representa um time_point para este relógio.

Relacionado

Nome Descrição
sys_days Um sinônimo de using sys_days = sys_time<days>. Uma contagem de dias, representada por um time_point que está associado a um system_clock. Definido em std::chrono
sys_seconds Um sinônimo de using sys_seconds = sys_time<seconds>. Uma contagem de segundos, representada por um time_point associado a um system_clock. Definido em std::chrono
sys_time Um sinônimo de template <class Duration> using sys_time = time_point<system_clock, Duration>. Representa um time_point para um system_clock. Você especifica a duração. Definido em std::chrono.

Métodos públicos

Nome Descrição
from_time_t Estático. Retorna um time_point para um system_clock que mais se aproxima do time_t especificado.
now Estático. Retorna o tempo atual.
to_time_t Estático. Retorna um objeto time_t que mais se aproxima do time_point especificado.

Constantes públicas

Nome Descrição
system_clock::is_steady Indica se o tipo de relógio é estável. Ele é false

Requisitos

Cabeçalho<chrono>:

Namespace:std::chrono

from_time_t

Método estático que retorna um time_point que mais se aproxima do tempo representado por Tm.

static time_point from_time_t(time_t Tm) noexcept;

Parâmetros

Tm
Um objeto time_t.

is_steady

Um valor estático que especifica se o tipo de relógio é estável. Como o system_clock não é constante, você não pode usar este relógio para calcular o tempo antes de um evento, o tempo depois de um evento e subtraí-los de forma confiável para obter a duração do evento porque o relógio pode ser ajustado durante o intervalo de tempo.

static const bool is_steady = false;

Valor de Devolução

Nessa implementação, system_clock::is_steady sempre retorna false.

Comentários

Um relógio é estável se for monotônico e se o tempo entre os tiques do relógio for constante. O system_clock não é monotônico porque o valor retornado por uma primeira chamada para now() nem sempre é menor ou igual ao valor retornado por uma chamada posterior para now() porque a hora do sistema pode ser ajustado sem aviso prévio.

now

Método estático que retorna a hora atual do relógio de parede do sistema.

static time_point now() noexcept;

Valor de Devolução

Um time_point que representa a hora atual.

to_time_t

Método estático que retorna um time_t que mais se aproxima da hora representada por Time.

static time_t to_time_t(const time_point& Time) noexcept;

Parâmetros

Time
Um objeto time_point.

Confira também

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