共用方式為


tai_clock 類別

這個時鐘報告自1958年1月1日星期四00:00:00以來的國際原子時間。 此時鐘不會考慮閏秒。

語法

class tai_clock; // C++20

備註

這時鍾報導了國際原子時(TAI,來自法國 天體原子國際)。 國際原子時間使用許多不可部分完成時鐘的加權平均值來追蹤時間。

TAI 時鐘所保留的時間與 UTC 時間不同。 差異在於,閏秒偶爾會新增至 UTC 時間,以在 +- 0.9 秒內保持 UTC 時間與 UT1(太陽時間)之間的差異。 測量地球旋轉所保留的時間之間逐漸產生差異。 因地球的旋轉速度不規則而產生差異。 它每隔1.5年減慢一秒左右,認為它有時也會加速。 TAI 時間不會追蹤此差異。 從本文開始,TAI 時間比 UTC 時間提前 37 秒。 這是因為 1972 年初的初始差異為 10 秒,加上自 1972 年以來插入的閏秒。

時鐘的 Epoch,或其開始測量時間的日期和時間為 1958-01-01 00:00:00

成員

名稱 描述
from_utc 靜態。 將 utc_time 轉換成 tai_time
now 靜態。 傳回目前的國際原子時間。
to_utc 靜態。 tai_time utc_time轉換為 。

非成員

名稱 描述
from_stream tai_clock使用指定的格式,從指定的資料串流剖析 。
get_leap_second_info 取得提供的時間是否指定插入閏秒的時間,以及 1970 年 1 月 1 日與指定持續時間之間的所有閏秒總和的相關信息。
operator<< tai_time將 輸出至指定的數據流。

便利類型別名

名稱 描述
tai_clock::duration 在 Microsoft 的實作中,它是 的 duration<long long, ratio<1, 10'000'000>同義字。 它代表以 100 奈秒為單位測量的時間持續時間。
tai_clock::period 在 Microsoft 的實作中,它是 的 ratio<1, 10'000'000>同義字。 它代表持續時間中每個刻度之間的秒數 (100 奈秒) 時間。
tai_clock::rep 型別 (long long) 的同義字,用來表示這個時鐘中整數單位。tai_clock::duration
tai_clock::time_point time_point<tai_clock> 的同義字。 用來表示 time_point 這個時鐘的 。

相關

名稱 描述
tai_time template <class Duration> using tai_time = time_point<tai_clock, Duration> 的同義字。 表示 time_pointtai_clock。 您可以指定 Duration。 在中定義 std::chrono
tai_seconds 與相關聯tai_clocktime_point 的秒數同義using tai_seconds = tai_time<seconds>字。 在中定義 std::chrono

公用常數

名稱 描述
tai_clock::is_steady constant 指出時鐘類型是否穩定。 其值為 false

需求

標頭: <chrono> (自C++20起)

命名空間std::chrono

編譯程序選項: /std:c++latest

from_utc

將轉換成 utc_timetai_time靜態方法。

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

參數

t
要進行轉換的 utc_time

傳回值

tai_time,表示對等utc_timet。 其計算方式是採用UTC時鐘的Epoch之後所花費的時間,並新增 378691210s where 378691210s == sys_days{1970y/January/1} - sys_days{1958y/January/1} + 10s

to_utc

將轉換成 tai_timeutc_time靜態方法。

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

參數

t
要進行轉換的 tai_time

傳回值

utc_time,表示對等tai_timet。 其計算方式為 utc_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 378691210s where 378691210s == sys_days{1970y/January/1} - sys_days{1958y/January/1} + 10s

is_steady

指定計時類型是否具「穩定性」。 在 Microsoft 實作中, is_steady_constantfalse。 因為 tai_clock 不穩定,因此您無法使用此時鐘在事件之前花費時間、事件之後的時間,並減去它們以取得事件的持續時間,因為該時間可能會調整時鐘。

static const bool is_steady = false;

now

傳回目前 TAI 時間的靜態方法。

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 結構
utc_clock 類別
標頭檔參考