共用方式為


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_utcfrom_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_pointfile_clock。 您可以指定 Duration。 在中定義 std::chrono

公用常數

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

需求

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

命名空間std::chrono

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

from_utc

將轉換成 utc_timefile_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_timet。 它會計算為 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_utcfrom_utc、 或 to_sysfrom_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_timeutc_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_timet。 建議您使用 std::chrono::clock_cast 來轉換時鐘之間的時間點,而不是直接呼叫此函式。 這特別相關, file_clock 因為 ISO C++ Standard 允許此類型定義 to_utcfrom_utc、 或 to_sysfrom_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_steadyfalse。 這讓這個時鐘不適合測量作業所花費的時間,因為當您計時某個專案時,可以調整不穩定的時鐘,因此測量的時間可能會關閉,甚至為負數。 high_resolution_clock請改用 to time 事件。

static const bool is_steady = false;

now

會傳回目前系統時間的靜態方法,其解析度為 nanosecond,由 的 file_clockepoch 調整。

static time_point now() noexcept;

傳回值

time_point 物件,代表目前的時間。

另請參閱

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