Freigeben über


file_clock-Klasse

Diese Uhr kann den Bereich und die Auflösung der im Dateisystem verwendeten Dateizeitwerte darstellen.

Syntax

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

Hinweise

In der Microsoft-Implementierung, der Epoche oder der Zeit, ab der die file_clock Messzeit beginnt, ist 1/1/1601 00:00:00.

Der ISO C++-Standard bietet eine Wahl zwischen Bereitstellung to_sys() und from_sys(), oder to_utc() und from_utc(). Die Microsoft-Implementierung hat to_utc und from_utc ausgewählt.

Mitglieder

Name Beschreibung
from_utc Statisch. Konvertiert ein utc_time -Element in ein file_time-Element.
now Statisch. Gibt die aktuelle internationale Atomzeit zurück.
to_utc Statisch. Konvertiert ein file_time in utc_time.

Nicht-Member

Name Beschreibung
from_stream Analysieren Eines file_clock aus dem angegebenen Datenstrom mithilfe des angegebenen Formats.
operator<< Ausgabe file_time an den angegebenen Datenstrom.

Komforttypaliasen

Name Beschreibung
file_clock::duration In der Implementierung von Microsoft ist es ein Synonym für duration<long long, ratio<1, 10'000'000>. Sie stellt eine Zeitdauer dar, die in Einheiten von 100 Nanosekunden gemessen wird.
file_clock::time_point Ein Synonym für time_point<File_time_clock>. Wird verwendet, um eine time_point für diese Uhr darzustellen.
file_clock::period In der Implementierung von Microsoft ist es ein Synonym für ratio<1, 10'000'000>. Sie stellt die Zeit in Sekunden (100 Nanosekunden) zwischen jedem Teilstrich in der Dauer dar.
file_clock::rep Ein Synonym für den Typ (long long), der verwendet wird, um die integralen Einheiten in dieser Uhr file_clock::durationdarzustellen.

Related

Name Beschreibung
file_time Ein Synonym für time_point<file_clock, Duration>. Stellt ein time_point für ein file_clock. Sie geben die Duration. Definiert in std::chrono

Öffentliche Konstanten

Name Beschreibung
file_clock::is_steady constant Gibt an, ob der Takttyp stabil ist. Sein Wert lautet false.

Anforderungen

Header: <chrono> (seit C++20)

Namespace:std::chrono

Compileroption: /std:c++latest

from_utc

Statische Methode, die eine utc_time in eine file_time.

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

Parameter

t
Die zu konvertierende utc_time.

Rückgabewert

A file_time , das die Entsprechung utc_time als t. Es wird mit utc_clock::to_sys(utc_time).time_since_epoch() minus der Anzahl der Schaltsekunden vor dem 1. Januar 2017 (27) berechnet. Windows 10, Version 1809 und Windows Server 2019, haben unterstützung für Schaltsekunden eingeführt. Diese Unterstützung ist standardmäßig aktiviert, kann jedoch deaktiviert werden. Wenn diese Option aktiviert ist, sind nur Schaltsekunden nach Juli 2018 (nicht die zwischen dem 1. Januar 2017 und Juli 2018) enthalten.

Es wird empfohlen std::chrono::clock_cast , Zeitpunkte zwischen Takten zu konvertieren, anstatt diese Funktion direkt aufzurufen. Dies ist besonders relevant, file_clock da der ISO C++-Standard diesen Typ to_utc entweder und from_utc, oder und to_sys und .from_sys Da die Implementierung je nach Anbieter variieren kann, können Sie stattdessen verwenden clock_cast , was von allen Bibliotheksanbietern bereitgestellt wird.

Beispiel: 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

Statische Methode, die eine file_time in eine utc_time.

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

Parameter

t
Die zu konvertierende file_time.

Rückgabewert

A utc_time , das die Entsprechung file_time als t. Es wird empfohlen std::chrono::clock_cast , Zeitpunkte zwischen Uhren zu konvertieren, anstatt diese Funktion direkt aufzurufen. Dies ist besonders relevant, file_clock da der ISO C++-Standard diesen Typ to_utc entweder und from_utc, oder und to_sys und .from_sys Da die Implementierung je nach Anbieter variieren kann, können Sie stattdessen verwenden clock_cast , was von allen Bibliotheksanbietern bereitgestellt wird.

Beispiel: 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

Ein statischer Wert, der angibt, ob der Uhrtyp gleichmäßig ist. In der Microsoft-Implementierung is_steady lautet false. Dies macht diese Uhr ungeeignet, um zu messen, wie lange ein Vorgang dauert, da eine unaufdinge Uhr angepasst werden kann, während Sie etwas zeitlich planen, sodass die gemessene Zeit deaktiviert oder sogar negativ sein kann. Verwenden Sie stattdessen ein high_resolution_clock , um Ereignisse zu zeitieren.

static const bool is_steady = false;

now

Statische Methode, die die aktuelle Systemzeit mit Nanosekundenauflösung zurückgibt, angepasst durch die Epoche der file_clock.

static time_point now() noexcept;

Rückgabewert

Ein time_point-Objekt, das die aktuelle Uhrzeit darstellt.

Siehe auch

<chrono>
gps_clock class
high_resolution_clock
local_t-Struktur
steady_clock-Struktur
system_clock-Struktur
tai_clock-Klasse
utc_clock-Klasse
Headerdateienreferenz