Classe file_clock
Cette horloge peut représenter la plage et la résolution des valeurs d’heure de fichier utilisées dans le système de fichiers.
Syntaxe
using file_clock = std::filesystem::_File_time_clock; // C++20
Notes
Dans l’implémentation De Microsoft, l’époque, ou l’heure à partir de laquelle le file_clock
temps de mesure commence, est 1/1/1601 00:00:00.
La norme ISO C++ offre un choix entre fournir to_sys()
et from_sys()
, ou to_utc()
et from_utc()
. L’implémentation de Microsoft a choisi to_utc et from_utc.
Membres
Nom | Description |
---|---|
from_utc |
Statique. Convertit une utc_time en une file_time . |
now |
Statique. Retourne l’heure atomique internationale actuelle. |
to_utc |
Statique. Convertit un file_time en utc_time . |
Non-membres
Nom | Description |
---|---|
from_stream |
Analysez une file_clock valeur à partir du flux donné à l’aide du format spécifié. |
operator<< |
Sortie file_time vers le flux donné. |
Alias de type pratique
Nom | Description |
---|---|
file_clock::duration |
Dans l’implémentation de Microsoft, il s’agit d’un synonyme de duration<long long, ratio<1, 10'000'000> . Il représente une durée de temps mesurée en unités de 100 nanosecondes. |
file_clock::time_point |
Synonyme de time_point<File_time_clock> . Utilisé pour représenter une time_point horloge. |
file_clock::period |
Dans l’implémentation de Microsoft, il s’agit d’un synonyme de ratio<1, 10'000'000> . Il représente la durée en secondes (100 nanosecondes) entre chaque graduation dans la durée. |
file_clock::rep |
Synonyme du type (long long ) utilisé pour représenter les unités intégrales dans cette horloge file_clock::duration . |
Associé
Nom | Description |
---|---|
file_time |
Synonyme de time_point<file_clock, Duration> . Représente un time_point pour un file_clock . Vous spécifiez le Duration . Défini dans std::chrono |
Constantes publiques
Nom | Description |
---|---|
file_clock::is_steady constant |
Indique si le type d’horloge est stable. Sa valeur est de false . |
Spécifications
En-tête : <chrono>
(depuis C++20)
Espace de noms : std::chrono
Option du compilateur : /std:c++latest
from_utc
Méthode statique qui convertit un utc_time
file_time
en .
template <class Duration>
static file_time<common_type_t<_Duration, chrono::seconds>>
from_utc(const utc_time<Duration>& t);
Paramètres
t
utc_time
à convertir.
Valeur retournée
Qui file_time
représente l’équivalent utc_time
en tant que t
. Elle est calculée comme utc_clock::to_sys(utc_time).time_since_epoch()
moins le nombre de secondes bissextiles avant le 1er janvier 2017 (27). Windows 10 version 1809 et Windows Server 2019 ont introduit la prise en charge des secondes bissextiles. Cette prise en charge est activée par défaut, bien qu’elle puisse être désactivée. Lorsqu’elle est activée, seules les secondes de saut après juillet 2018 (et non celles comprises entre le 1er janvier 2017 et juillet 2018) sont incluses dans le temps.
Nous vous recommandons d’utiliser std::chrono::clock_cast
pour convertir les points de temps entre les horloges plutôt que d’appeler cette fonction directement. Cela est particulièrement pertinent car file_clock
la norme ISO C++ permet à ce type de définir soit to_utc
etfrom_utc
, ou .from_sys
to_sys
Étant donné que l’implémentation peut varier selon le fournisseur, vous pouvez utiliser clock_cast
à la place, qui est fournie par tous les fournisseurs de bibliothèque.
Exemple : 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
Méthode statique qui convertit un file_time
utc_time
en .
template <class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const file_time<Duration>& t);
Paramètres
t
file_time
à convertir.
Valeur de retour
Qui utc_time
représente l’équivalent file_time
en tant que t
. Nous vous recommandons d’utiliser std::chrono::clock_cast
pour convertir les points de temps entre les horloges, plutôt que d’appeler cette fonction directement. Cela est particulièrement pertinent car file_clock
la norme ISO C++ permet à ce type de définir soit to_utc
etfrom_utc
, ou .from_sys
to_sys
Étant donné que l’implémentation peut varier selon le fournisseur, vous pouvez utiliser clock_cast
à la place, qui est fournie par tous les fournisseurs de bibliothèque.
Exemple : 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
Valeur statique qui spécifie si le type d’horloge est stable. Dans l’implémentation de Microsoft, is_steady
est false
. Cela rend cette horloge inadaptée pour mesurer la durée d’une opération, car une horloge instable peut être ajustée pendant que vous minutez quelque chose afin que le temps mesuré soit désactivé ou même négatif. Utilisez plutôt des high_resolution_clock
événements de temps.
static const bool is_steady = false;
now
Méthode statique qui retourne l’heure système actuelle, avec la résolution nanoseconde, ajustée par l’époque du file_clock
.
static time_point now() noexcept;
Valeur de retour
Objet time_point qui représente l’heure actuelle.
Voir aussi
<chrono>
gps_clock class
high_resolution_clock
Struct local_t
Struct steady_clock
Struct system_clock
tai_clock
, classe
utc_clock
, classe
Informations de référence sur les fichiers d’en-tête