file_clock
類別
這個時鐘可以代表文件系統中使用的檔案時間值範圍和解析度。
語法
using file_clock = std::filesystem::_File_time_clock; // C++20
備註
在Microsoft實作中,epoch 或開始 file_clock
測量時間的時間是 1/1/1601 00:00:00。
ISO C++ Standard 提供 和 to_sys()
from_sys()
或 to_utc()
from_utc()
之間的選擇。 Microsoft實作選擇 to_utc 和 from_utc。
成員
名稱 | 描述 |
---|---|
from_utc |
靜態。 將 utc_time 轉換成 file_time 。 |
now |
靜態。 傳回目前的國際原子時間。 |
to_utc |
靜態。 轉換 file_time utc_time 為 。 |
非成員
名稱 | 描述 |
---|---|
from_stream |
file_clock 使用指定的格式,從指定的資料串流剖析 。 |
operator<< |
輸出 file_time 至指定的數據流。 |
便利類型別名
名稱 | 描述 |
---|---|
file_clock::duration |
在 Microsoft 的實作中,它是 的 duration<long long, ratio<1, 10'000'000> 同義字。 它代表以 100 奈秒為單位測量的時間持續時間。 |
file_clock::time_point |
time_point<File_time_clock> 的同義字。 用來表示 time_point 這個時鐘的 。 |
file_clock::period |
在 Microsoft 的實作中,它是 的 ratio<1, 10'000'000> 同義字。 它代表持續時間中每個刻度之間的秒數 (100 奈秒) 時間。 |
file_clock::rep |
型別 (long long ) 的同義字,用來表示這個時鐘中整數單位。file_clock::duration |
相關
名稱 | 描述 |
---|---|
file_time |
time_point<file_clock, Duration> 的同義字。 表示 time_point 的 file_clock 。 您可以指定 Duration 。 在中定義 std::chrono |
公用常數
名稱 | 描述 |
---|---|
file_clock::is_steady constant |
指出時鐘類型是否穩定。 其值為 false 。 |
需求
標頭: <chrono>
(自C++20起)
命名空間:std::chrono
編譯程序選項: /std:c++latest
from_utc
將轉換成 utc_time
的 file_time
靜態方法。
template <class Duration>
static file_time<common_type_t<_Duration, chrono::seconds>>
from_utc(const utc_time<Duration>& t);
參數
t
要進行轉換的 utc_time
。
傳回值
file_time
,表示對等utc_time
的 t
。 它會計算為 utc_clock::to_sys(utc_time).time_since_epoch()
減去 2017 年 1 月 1 日 (27) 之前的閏秒數。 Windows 10 版本 1809 和 Windows Server 2019 引進了閏秒的支援。 默認會啟用該支援,但可以停用。 啟用時,只有在 2018 年 7 月之後的閏秒(不是 2017 年 1 月 1 日到 2018 年 7 月之間)才會包含在時間中。
建議您使用 std::chrono::clock_cast
來轉換時鐘之間的時間點,而不是直接呼叫此函式。 這特別相關, file_clock
因為 ISO C++ Standard 允許此類型定義 to_utc
和 from_utc
、 或 to_sys
與 from_sys
。 由於實作可能會因廠商而異,因此您可以改用 clock_cast
,而所有連結庫廠商都會提供。
範例: from_utc
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
std::cout << clock_cast<file_clock>(utc_clock::now());
return 0;
}
2021-08-17 00:20:41.2594557
to_utc
將轉換成 file_time
的 utc_time
靜態方法。
template <class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const file_time<Duration>& t);
參數
t
要進行轉換的 file_time
。
傳回值
utc_time
,表示對等file_time
的 t
。 建議您使用 std::chrono::clock_cast
來轉換時鐘之間的時間點,而不是直接呼叫此函式。 這特別相關, file_clock
因為 ISO C++ Standard 允許此類型定義 to_utc
和 from_utc
、 或 to_sys
與 from_sys
。 由於實作可能會因廠商而異,因此您可以改用 clock_cast
,而所有連結庫廠商都會提供。
範例: to_utc
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
std::cout << clock_cast<std::chrono::utc_clock>(file_clock::now());
return 0;
}
2021-08-17 00:20:41.2594557
is_steady
指定計時類型是否具「穩定性」。 在 Microsoft 實作中, is_steady
是 false
。 這讓這個時鐘不適合測量作業所花費的時間,因為當您計時某個專案時,可以調整不穩定的時鐘,因此測量的時間可能會關閉,甚至為負數。 high_resolution_clock
請改用 to time 事件。
static const bool is_steady = false;
now
會傳回目前系統時間的靜態方法,其解析度為 nanosecond,由 的 file_clock
epoch 調整。
static time_point now() noexcept;
傳回值
time_point 物件,代表目前的時間。
另請參閱
<chrono>
gps_clock class
high_resolution_clock
local_t
結構
steady_clock
結構
system_clock
結構
tai_clock
類別
utc_clock
類別
標頭檔參考