Sdílet prostřednictvím


Třída file_clock

Tyto hodiny můžou představovat rozsah a rozlišení hodnot času souboru používaných v systému souborů.

Syntaxe

using file_clock = std::filesystem::_File_time_clock; // C++20

Poznámky

V implementaci Microsoftu je epocha nebo čas file_clock zahájení měření času 1/1/1601 00:00:00.

Standard ISO C++ poskytuje volbu mezi poskytováním to_sys() from_sys()a , nebo to_utc() a .from_utc() Implementace Microsoftu zvolila to_utc a from_utc.

Členové

Název Popis
from_utc Statický. Převede na utc_time .file_time
now Statický. Vrátí aktuální mezinárodní atomový čas.
to_utc Statický. Převede na file_time utc_time.

Nečlenové

Název Popis
from_stream Parsujte file_clock z daného datového proudu pomocí zadaného formátu.
operator<< Výstup file_time do daného datového proudu.

Aliasy typů pohodlí

Název Popis
file_clock::duration V implementaci Microsoftu je to synonymum pro duration<long long, ratio<1, 10'000'000>. Představuje dobu trvání měřenou v jednotkách 100 nanosekund.
file_clock::time_point Synonymum pro time_point<File_time_clock>. Používá se k reprezentaci time_point pro tento čas.
file_clock::period V implementaci Microsoftu je to synonymum pro ratio<1, 10'000'000>. Představuje čas v sekundách (100 nanosekund) mezi jednotlivými značkami v době trvání.
file_clock::rep Synonymum pro typ (long long) sloužící k reprezentaci integrálních jednotek v tomto formátu file_clock::duration.

Příbuzný

Název Popis
file_time Synonymum pro time_point<file_clock, Duration>. Představuje pro time_point objekt file_clock. Zadáte hodnotu Duration. Definováno v std::chrono

Veřejné konstanty

Název Popis
file_clock::is_steady constant Určuje, zda je typ hodin stabilní. Její hodnota je false.

Požadavky

Hlavička: <chrono> (od C++20)

Obor názvů: std::chrono

Možnost kompilátoru: /std:c++latest

from_utc

Statická metoda, která převede na utc_time .file_time

template <class Duration>
static file_time<common_type_t<_Duration, chrono::seconds>>
from_utc(const utc_time<Duration>& t);

Parametry

t
Převod.utc_time

Vrácená hodnota

A file_time , který představuje ekvivalent utc_time jako t. Vypočítá se jako utc_clock::to_sys(utc_time).time_since_epoch() minus počet přestupných sekund před 1. lednem 2017 (27). Windows 10 verze 1809 a Windows Server 2019 zavedly podporu pro přestupné sekundy. Tato podpora je ve výchozím nastavení povolená, i když je možné ji zakázat. Pokud je tato možnost povolená, jsou v čase zahrnuté pouze skokové sekundy po červenci 2018 (ne v období od 1. ledna 2017 do července 2018).

Doporučujeme místo std::chrono::clock_cast přímého volání této funkce převést časové body mezi hodinami. To je obzvláště důležité pro file_clock to, že standard ISO C++ umožňuje tomuto typu definovat buď to_utc a from_utc, nebo to_sys a a from_sys. Vzhledem k tomu, že se implementace může lišit podle dodavatele, můžete místo toho použít clock_cast , což poskytuje všichni dodavatelé knihoven.

Příklad: 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

Statická metoda, která převede na file_time .utc_time

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

Parametry

t
Převod.file_time

Návratová hodnota

A utc_time , který představuje ekvivalent file_time jako t. Místo přímého volání této funkce doporučujeme std::chrono::clock_cast převést časové body mezi hodinami. To je obzvláště důležité pro file_clock to, že standard ISO C++ umožňuje tomuto typu definovat buď to_utc a from_utc, nebo to_sys a a from_sys. Vzhledem k tomu, že se implementace může lišit podle dodavatele, můžete místo toho použít clock_cast , což poskytuje všichni dodavatelé knihoven.

Příklad: 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

Statická hodnota, která určuje, zda je typ hodin stabilní. V implementaci is_steady Microsoftu je false. Díky tomu tyto hodiny nejsou vhodné pro měření doby trvání operace, protože nestejné hodiny je možné upravit, zatímco časujete něco tak, aby měřená doba mohla být vypnutá nebo dokonce záporná. high_resolution_clock Místo toho použijte události k času.

static const bool is_steady = false;

nyní

Statická metoda, která vrací aktuální systémový čas s nanosekundovým rozlišením upraveným epochou file_clock.

static time_point now() noexcept;

Návratová hodnota

Objekt time_point , který představuje aktuální čas.

Viz také

<chrono>
gps_clock class
high_resolution_clock
local_t Struct
steady_clock Struct
system_clock Struct
Třída tai_clock
Třída utc_clock
Referenční informace k souborům hlaviček