Classe file_clock
Questo orologio può rappresentare l'intervallo e la risoluzione dei valori di ora file usati nel file system.
Sintassi
using file_clock = std::filesystem::_File_time_clock; // C++20
Osservazioni:
Nell'implementazione di Microsoft, il periodo o l'ora da cui inizia la file_clock
misurazione del tempo è 1/1/1601 00:00:00.
Lo standard ISO C++ offre una scelta tra fornire to_sys()
e from_sys()
o to_utc()
e from_utc()
. L'implementazione Di Microsoft ha scelto to_utc e from_utc.
Membri
Nome | Descrizione |
---|---|
from_utc |
Statico. Converte utc_time in file_time . |
now |
Statico. Restituisce l'ora atomica internazionale corrente. |
to_utc |
Statico. Converte un oggetto file_time in utc_time . |
Membri non membri
Nome | Descrizione |
---|---|
from_stream |
Analizzare un oggetto file_clock dal flusso specificato usando il formato specificato. |
operator<< |
Output file_time nel flusso specificato. |
Alias del tipo di praticità
Nome | Descrizione |
---|---|
file_clock::duration |
Nell'implementazione di Microsoft, è un sinonimo di duration<long long, ratio<1, 10'000'000> . Rappresenta una durata del tempo misurata in unità di 100 nanosecondi. |
file_clock::time_point |
Sinonimo di time_point<File_time_clock> . Utilizzato per rappresentare un oggetto time_point per questo orologio. |
file_clock::period |
Nell'implementazione di Microsoft, è un sinonimo di ratio<1, 10'000'000> . Rappresenta il tempo in secondi (100 nanosecondi) tra ogni tick nella durata. |
file_clock::rep |
Sinonimo del tipo (long long ) utilizzato per rappresentare le unità integrali di questo orologio.file_clock::duration |
Imparentato
Nome | Descrizione |
---|---|
file_time |
Sinonimo di time_point<file_clock, Duration> . Rappresenta un oggetto time_point per un oggetto file_clock . Specificare .Duration Definito in std::chrono |
Costanti pubbliche
Nome | Descrizione |
---|---|
file_clock::is_steady constant |
Indica se il tipo di orologio è costante. Il valore è false . |
Requisiti
Intestazione: <chrono>
(da C++20)
Spazio dei nomi: std::chrono
Opzione del compilatore: /std:c++latest
from_utc
Metodo statico che converte un oggetto utc_time
in un oggetto file_time
.
template <class Duration>
static file_time<common_type_t<_Duration, chrono::seconds>>
from_utc(const utc_time<Duration>& t);
Parametri
t
Oggetto utc_time
da convertire.
Valore restituito
Oggetto file_time
che rappresenta l'equivalente utc_time
come t
. Viene calcolato come utc_clock::to_sys(utc_time).time_since_epoch()
meno il numero di secondi intercalari prima del 1° gennaio 2017 (27). Windows 10 versione 1809 e Windows Server 2019 hanno introdotto il supporto per i secondi intercalari. Tale supporto è abilitato per impostazione predefinita, anche se può essere disabilitato. Se abilitata, solo i secondi bisestile dopo luglio 2018 (non quelli compresi tra il 1° gennaio 2017 e luglio 2018) sono inclusi nel tempo.
È consigliabile usare std::chrono::clock_cast
per convertire i punti di tempo tra gli orologi anziché chiamare direttamente questa funzione. Ciò è particolarmente rilevante perché file_clock
lo standard ISO C++ consente a questo tipo di definire to_utc
e from_utc
o e to_sys
from_sys
. Poiché l'implementazione può variare in base al fornitore, è possibile usare clock_cast
invece, fornito da tutti i fornitori di librerie.
Esempio: 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
Metodo statico che converte un oggetto file_time
in un oggetto utc_time
.
template <class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const file_time<Duration>& t);
Parametri
t
Oggetto file_time
da convertire.
Valore restituito
Oggetto utc_time
che rappresenta l'equivalente file_time
come t
. È consigliabile usare std::chrono::clock_cast
per convertire i punti di tempo tra gli orologi, anziché chiamare direttamente questa funzione. Ciò è particolarmente rilevante perché file_clock
lo standard ISO C++ consente a questo tipo di definire to_utc
e from_utc
o e to_sys
from_sys
. Poiché l'implementazione può variare in base al fornitore, è possibile usare clock_cast
invece, fornito da tutti i fornitori di librerie.
Esempio: 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
Valore statico che specifica se il tipo di clock è costante. Nell'implementazione di Microsoft è is_steady
false
. Questo rende questo orologio inadatto per misurare il tempo necessario per un'operazione perché un orologio invece può essere regolato mentre si sta tempondo qualcosa in modo che il tempo misurato possa essere spento o persino negativo. Usare invece un high_resolution_clock
oggetto per l'ora degli eventi.
static const bool is_steady = false;
now
Metodo statico che restituisce l'ora di sistema corrente, con risoluzione nanosecondo, regolato dal periodo dell'oggetto file_clock
.
static time_point now() noexcept;
Valore restituito
Oggetto time_point che rappresenta l'ora corrente.
Vedi anche
<chrono>
gps_clock class
high_resolution_clock
local_t
Struct
steady_clock
Struct
system_clock
Struct
Classe tai_clock
Classe utc_clock
Riferimento file di intestazione