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_time 를 gps_time 로 변환합니다. |
now |
정적. GPS 현재 시간을 반환합니다. |
to_utc |
정적. gps_time 를 utc_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_clock a를 time_point 나타내는 데 사용됩니다. 를 지정합니다 Duration . 에 정의됨 std::chrono |
gps_seconds |
와 연결된 gps_clock a로 표현되는 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
클래스
헤더 파일 참조