Udostępnij za pośrednictwem


Klasa file_clock

Ten zegar może reprezentować zakres i rozdzielczość wartości czasu pliku używanych w systemie plików.

Składnia

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

Uwagi

W implementacji firmy Microsoft epoka lub czas file_clock rozpoczęcia pomiaru wynosi 1/1/1601 00:00:00.

Standard ISO C++ zapewnia wybór między parametrami i to_sys() , a to_utc()from_utc().from_sys() Implementacja firmy Microsoft wybrała to_utc i from_utc.

Członkowie

Nazwa/nazwisko opis
from_utc Statyczne. Konwertuje element na utc_time .file_time
now Statyczne. Zwraca bieżący czas międzynarodowego niepodzielnego.
to_utc Statyczne. Konwertuje element na file_timeutc_time.

Inne niż elementy członkowskie

Nazwa/nazwisko opis
from_stream Przeanalizuj element file_clock z danego strumienia przy użyciu określonego formatu.
operator<< Dane wyjściowe file_time do danego strumienia.

Aliasy typu wygody

Nazwa/nazwisko opis
file_clock::duration W implementacji firmy Microsoft jest to synonim .duration<long long, ratio<1, 10'000'000> Reprezentuje czas trwania mierzony w jednostkach 100 nanosekund.
file_clock::time_point Synonim dla elementu time_point<File_time_clock>. Służy do reprezentowania elementu dla tego zegara time_point .
file_clock::period W implementacji firmy Microsoft jest to synonim .ratio<1, 10'000'000> Reprezentuje czas w sekundach (100 nanosekund) między poszczególnymi znacznikami czasu trwania.
file_clock::rep Synonim typu (long long) używanego do reprezentowania jednostek całkowitych w tym zegarze file_clock::duration.

Powiązane

Nazwa/nazwisko opis
file_time Synonim dla elementu time_point<file_clock, Duration>. Reprezentuje element time_point dla elementu file_clock. Należy określić element Duration. Zdefiniowane w std::chrono

Stałe publiczne

Nazwa/nazwisko opis
file_clock::is_steady constant Wskazuje, czy typ zegara jest stały. Jego wartość to false.

Wymagania

Nagłówek:<chrono> (od C++20)

Obszaru nazw:std::chrono

Opcja kompilatora:/std:c++latest

from_utc

Metoda statyczna, która konwertuje utc_time element na .file_time

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

Parametry

t
Element utc_time do konwersji.

Wartość zwracana

Element file_time reprezentujący odpowiednik utc_time elementu .t Jest on obliczany jako utc_clock::to_sys(utc_time).time_since_epoch() minus liczba sekund przestępnych przed 1 stycznia 2017 r. (27). Systemy Windows 10 w wersji 1809 i Windows Server 2019 wprowadziły obsługę sekund przestępnych. Ta obsługa jest domyślnie włączona, chociaż można ją wyłączyć. Po włączeniu tej opcji w okresie od 1 stycznia 2017 r. do lipca 2018 r. są uwzględniane tylko sekundy przestępne po lipcu 2018 r. (a nie w okresie od 1 stycznia 2017 r. do lipca 2018 r.).

Zalecamy konwertowanie std::chrono::clock_cast punktów czasu między zegarami, a nie bezpośrednie wywoływanie tej funkcji. Jest to szczególnie istotne, file_clock ponieważ standard ISO C++ umożliwia temu typowi definiowanie elementów to_utc i , from_utclub i from_systo_sys . Ponieważ implementacja może się różnić w zależności od dostawcy, można użyć jej zamiast clock_cast tego, która jest dostarczana przez wszystkich dostawców bibliotek.

Przykład: 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

Metoda statyczna, która konwertuje file_time element na .utc_time

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

Parametry

t
Element file_time do konwersji.

Wartość zwracana

Element utc_time reprezentujący odpowiednik file_time elementu .t Zalecamy konwertowanie std::chrono::clock_cast punktów czasowych między zegarami, a nie bezpośrednie wywoływanie tej funkcji. Jest to szczególnie istotne, file_clock ponieważ standard ISO C++ umożliwia temu typowi definiowanie elementów to_utc i , from_utclub i from_systo_sys . Ponieważ implementacja może się różnić w zależności od dostawcy, można użyć jej zamiast clock_cast tego, która jest dostarczana przez wszystkich dostawców bibliotek.

Przykład: 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

Wartość statyczna określająca, czy typ zegara jest stały. W implementacji is_steady firmy Microsoft jest .false Sprawia to, że zegar jest nieodpowiedni do pomiaru, jak długo trwa operacja, ponieważ niezłomny zegar można dostosować, podczas gdy jesteś coś w czasie, więc mierzony czas może być wyłączony, a nawet ujemny. Zamiast tego należy użyć elementu do high_resolution_clock czasu zdarzeń.

static const bool is_steady = false;

teraz

Metoda statyczna zwracająca bieżący czas systemowy z rozdzielczością nanosekundową skorygowaną przez epokę file_clock.

static time_point now() noexcept;

Wartość zwracana

Obiekt time_point reprezentujący bieżący czas.

Zobacz też

<chrono>
gps_clock class
high_resolution_clock
local_t Struct
steady_clock Struct
system_clock Struct
Klasa tai_clock
Klasa utc_clock
Odwołanie do plików nagłówka