共用方式為


gps_clock 類別

全球定位系統(GPS)時間的時鐘。

語法

class gps_clock; // C++20

備註

此時鐘會測量自 1980 年 1 月 6 日星期日 00:00:00 UTC 起算的時間。

此時鐘不會考慮閏秒。 每當將閏秒新增至 UTC 時間時,UTC 就會落後 GPS 時間另一秒。

GPS 時間落後 TAI 時間 19 秒,因為 1972 年 TAI 時間增加了 10 秒,以計算累積到該點的閏秒,1970 年至 1980 年間又增加了 9 個躍秒。

成員

名稱 描述
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> 的同義字。 用來表示 time_pointgps_clock。 您可以指定 Duration。 在中定義 std::chrono
gps_seconds 與相關聯gps_clocktime_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_timegps_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相同的時間點。 其會計算為 gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 315964809s 其中 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s。 這是 epoch 與 gps_clock epoch 之間的utc_clock秒數。

to_utc

將轉換成 gps_timeutc_time靜態方法。

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

參數

t
要進行轉換的 gps_time

傳回值

utc_time設定為 與gps_time相同的時間點。 其會計算為 gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} + 315964809s 其中 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s。 這是的 Epoch utc_clockgps_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;

傳回值

time_point 物件,代表目前的時間。 傳回的時間點實際上是 from_utc(utc_clock::now())

另請參閱

<chrono>
file_clock class
high_resolution_clock
local_t 結構
steady_clock 結構
system_clock 結構
tai_clock 類別
標頭檔參考