다음을 통해 공유


gps_clock 클래스

GPS(글로벌 포지셔닝 시스템) 시간을 위한 시계입니다.

구문

class gps_clock; // C++20

설명

이 시계는 1980년 1월 6일 일요일 00:00:00 UTC 이후의 시간을 측정합니다.

이 시계는 윤초를 고려하지 않습니다. 윤초가 UTC 시간에 추가 될 때마다 UTC는 GPS 시간 뒤에 또 다른 두 번째 떨어진다.

GPS 시간은 1972년에 10초가 해당 시점까지 누적된 윤초를 고려하여 TAI 시간에 추가되었고, 1970년과 1980년 사이에 9초가 더 TAI 시간에 추가되었기 때문에 TAI 시간은 19초 뒤입니다.

멤버

속성 설명
from_utc 정적. utc_timegps_time로 변환합니다.
now 정적. GPS 현재 시간을 반환합니다.
to_utc 정적. gps_timeutc_time로 변환합니다.

비멤버

속성 설명
from_stream 지정된 형식을 gps_time 사용하여 지정된 스트림에서 구문 분석합니다.
operator<< 지정된 스트림에 출력 gps_time 합니다.

편의 유형 별칭

속성 설명
gps_clock::duration Microsoft의 구현에서는 동의어 duration<long long, ratio<1, 10'000'000>입니다. 100나노초 단위로 측정된 시간 기간을 나타냅니다.
gps_clock::period Microsoft의 구현에서는 동의어 ratio<1, 10'000'000>입니다. 해당 기간의 각 클록 틱 사이의 시간(100나노초)을 초 단위로 나타냅니다.
gps_clock::rep 이 클록의 정수 단위를 나타내는 데 사용되는 형식(long long)의 동의어입니다 gps_clock::duration.
gps_clock::time_point time_point<gps_clock>의 동의어입니다. 이 클록의 경우를 time_point 나타내는 데 사용됩니다.

관련

속성 설명
gps_time template <class Duration> using gps_time = time_point<gps_clock, Duration>의 동의어입니다. 에 대한 gps_clocka를 time_point 나타내는 데 사용됩니다. 를 지정합니다 Duration. 에 정의됨 std::chrono
gps_seconds 와 연결된 gps_clocka로 표현되는 time_point 초의 수에 대한 using gps_seconds = gps_time<seconds>; 동의어입니다. 에 정의됨 std::chrono

공용 상수

속성 설명
gps_clock::is_steady 상수 클록 유형이 안정적인지 여부를 나타냅니다. 해당 값은 false입니다.

요구 사항

헤더: <chrono> (C++20 이후)

네임스페이스: std::chrono

컴파일러 옵션: /std:c++latest

from_utc

를 변환하는 utc_time 정적 메서드입니다 gps_time.

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

매개 변수

t
변환할 utc_time입니다.

반환 값

gps_time 와 동일한 시점으로 utc_time t설정된 경우 여기서 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s계산됩니다gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 315964809s. Epoch와 gps_clock epoch 사이의 시간(utc_clock초)입니다.

to_utc

를 변환하는 gps_time 정적 메서드입니다 utc_time.

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

매개 변수

t
변환할 gps_time입니다.

Return Value

utc_time 와 동일한 시점으로 gps_time설정된 경우 여기서 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s계산됩니다gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} + 315964809s. 이 값은 epoch와 utc_clock .의 epoch 사이의 초 수입니다 gps_clock.

is_steady

시간 형식이 지속인지를 지정하는 정적 값입니다. Microsoft의 구현 is_steady_constant 에서는 항상 false.입니다. gps_clock 안정적이지 않기 때문에 이 클록을 사용하여 이벤트 전의 시간, 이벤트 이후의 시간을 안정적으로 사용하고, 해당 시간 동안 클록이 조정될 수 있으므로 이벤트 기간을 가져오기 위해 이 클록을 뺄 수 없습니다.

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

now

현재 GPS 시간을 반환하는 정적 메서드입니다.

static time_point now() noexcept;

Return Value

현재 시간을 나타내는 time_point 개체입니다. 반환된 시간 포인트는 사실상 입니다 from_utc(utc_clock::now()).

참고 항목

<chrono>
file_clock class
high_resolution_clock
local_t 구조체
steady_clock 구조체
system_clock 구조체
tai_clock 클래스
헤더 파일 참조