Partager via


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_timeen .

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_systo_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_timeen .

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_systo_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