Compartir a través de


Clase gps_clock

Reloj para la hora del Sistema de posicionamiento global (GPS).

Sintaxis

class gps_clock; // C++20

Comentarios

Este reloj mide la hora desde el domingo 6 de enero de 1980 a las 00:00:00 UTC.

Este reloj no tiene en cuenta los segundos intercalares. Cada vez que se agrega un segundo intercalar a la hora UTC, UTC se retrasa otro segundo respecto a la hora GPS.

La hora GPS está retrasada respecto al ahora TAI en 19 segundos porque se agregaron 10 segundos a la hora TAI en 1972 para tener en cuenta los segundos intercalares que se habían acumulado en ese momento, y se agregaron otros 9 segundos intercalares más a la hora TAI entre 1970 y 1980.

Miembros

Nombre Descripción
from_utc Estática. Convierte utc_time en gps_time.
now Estática. Devuelve la hora actual del GPS.
to_utc Estática. Convierte gps_time en utc_time.

No miembros

Nombre Descripción
from_stream Analiza un gps_time desde la secuencia especificada con el formato indicado.
operator<< Genera un elemento gps_time en la secuencia especificada.

Alias de tipo de conveniencia

Nombre Descripción
gps_clock::duration En la implementación de Microsoft es un sinónimo de duration<long long, ratio<1, 10'000'000>. Representa una duración de tiempo medida en unidades de 100 nanosegundos.
gps_clock::period En la implementación de Microsoft es un sinónimo de ratio<1, 10'000'000>. Representa el tiempo en fracciones de segundo (100 nanosegundos) entre cada ciclo de reloj del intervalo.
gps_clock::rep Un sinónimo del tipo (long long) usado para representar las unidades integrales de este reloj gps_clock::duration.
gps_clock::time_point Sinónimo de time_point<gps_clock>. Se usa para representar un time_point para este reloj.

Relacionados

Nombre Descripción
gps_time Sinónimo de template <class Duration> using gps_time = time_point<gps_clock, Duration>. Se usa para representar un time_point para un gps_clock. Especifique Duration. Definido en std::chrono
gps_seconds Un sinónimo de using gps_seconds = gps_time<seconds>; Un recuento de segundos, representado por un time_point que está asociado con un gps_clock. Definido en std::chrono

Constantes públicas

Nombre Descripción
gps_clock::is_steady (constante) Indica si el tipo de reloj es constante. Su valor es false.

Requisitos

Encabezado: <chrono> (desde C++20)

Espacio de nombres: std::chrono

Opción del compilador: /std:c++latest

from_utc

Método estático que convierte un utc_time en un gps_time.

template<class Duration>
static gps_time<common_type_t<Duration, seconds>>
from_utc(const utc_time<Duration>& t) noexcept;

Parámetros

t
Objeto utc_time que se va a convertir.

Valor devuelto

Un gps_time valor establecido en el mismo momento dado que .utc_time t Se calcula como gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 315964809s, donde 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s es el número de segundos entre la época utc_clock y la época gps_clock.

to_utc

Método estático que convierte un gps_time en un utc_time.

template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const gps_time<Duration>& t) noexcept;

Parámetros

t
Objeto gps_time que se va a convertir.

Valor devuelto

Un valor utc_time establecido en el mismo punto en el tiempo que gps_time. Se calcula como gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} + 315964809s, donde 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s es el número de segundos entre las épocas de utc_clock y gps_clock.

is_steady

Valor estático que especifica si el tipo del reloj es constante. En la implementación de Microsoft, is_steady_constant siempre es false. Dado que el gps_clock no es estable, no se puede usar de forma fiable este reloj para tomar el tiempo antes de un evento, el tiempo después de un evento y restarlos para obtener la duración del evento, porque el reloj podría ajustarse durante ese tiempo.

static const bool is_steady = system_clock::is_steady; // system_clock::is_steady equals false

now

Método estático que devuelve la hora actual del GPS.

static time_point now() noexcept;

Valor devuelto

Un objeto time_point que representa la hora actual. El punto de tiempo devuelto es efectivamente from_utc(utc_clock::now()).

Consulte también

<chrono>
file_clock class
high_resolution_clock
Estructura local_t
Estructura steady_clock
Estructura system_clock
Clase tai_clock
Referencia de archivos de encabezado