Класс file_clock
Эти часы могут представлять диапазон и разрешение значений времени файла, используемых в файловой системе.
Синтаксис
using file_clock = std::filesystem::_File_time_clock; // C++20
Замечания
В реализации Майкрософт эпоха или время, с которого file_clock
начинается измерение времени, составляет 1/1/1601 00:00:00.
Стандарт ISO C++ предоставляет выбор между предоставлением to_sys()
и from_sys()
( или to_utc()
) и from_utc()
. Реализация Майкрософт выбрала to_utc и from_utc.
Участники
Имя | Описание |
---|---|
from_utc |
Статическая. Преобразует utc_time в file_time . |
now |
Статическая. Возвращает текущее международное атомное время. |
to_utc |
Статическая. Преобразует объект file_time utc_time в . |
Не являющиеся членами
Имя | Описание |
---|---|
from_stream |
Синтаксический file_clock анализ из заданного потока с помощью указанного формата. |
operator<< |
Выходные данные file_time заданного потока. |
Псевдонимы удобных типов
Имя | Описание |
---|---|
file_clock::duration |
В реализации Корпорации Майкрософт это синоним duration<long long, ratio<1, 10'000'000> . Он представляет длительность времени, измеряемого в единицах 100 наносекунд. |
file_clock::time_point |
Синоним для time_point<File_time_clock> . Используется для представления time_point часов. |
file_clock::period |
В реализации Корпорации Майкрософт это синоним ratio<1, 10'000'000> . Он представляет время в секундах (100 наносекунд) между каждым тиком в течение длительности. |
file_clock::rep |
Синоним типа (long long ), используемый для представления целочисленных единиц в этом часовом режиме file_clock::duration . |
Родственный
Имя | Описание |
---|---|
file_time |
Синоним для time_point<file_clock, Duration> . time_point Представляет для file_clock . Укажите Duration . Определено в std::chrono |
Общедоступные константы
Имя | Описание |
---|---|
file_clock::is_steady constant |
Указывает, является ли тип часов устойчивым. Его значение равно false . |
Требования
Заголовок: <chrono>
(с C++20)
Пространство имен: std::chrono
Параметр компилятора: /std:c++latest
from_utc
Статический метод, который преобразуется utc_time
в объект file_time
.
template <class Duration>
static file_time<common_type_t<_Duration, chrono::seconds>>
from_utc(const utc_time<Duration>& t);
Параметры
t
Объект utc_time
для преобразования.
Возвращаемое значение
Значение, file_time
представляющее эквивалент utc_time
t
. Он вычисляется как utc_clock::to_sys(utc_time).time_since_epoch()
минус количество секунд прыжка до 1 января 2017 г. (27). Windows 10 версии 1809 и Windows Server 2019 появились поддержку в секундах прыжка. Эта поддержка включена по умолчанию, хотя ее можно отключить. Если включено, в это время включены только секунды прыжка после июля 2018 г. (а не с 1 января 2017 г. по июль 2018 г.).
Мы рекомендуем использовать std::chrono::clock_cast
для преобразования точек времени между часами, а не вызова этой функции напрямую. Это особенно важно, file_clock
так как стандарт ISO C++ позволяет этому типу определять to_utc
или , или from_utc
to_sys
from_sys
. Так как реализация может отличаться от поставщика, можно использовать clock_cast
вместо этого, которая предоставляется всеми поставщиками библиотеки.
Пример: 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
Статический метод, который преобразуется file_time
в объект utc_time
.
template <class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const file_time<Duration>& t);
Параметры
t
Объект file_time
для преобразования.
Возвращаемое значение
Значение, utc_time
представляющее эквивалент file_time
t
. Рекомендуется std::chrono::clock_cast
преобразовать точки времени между часами, а не вызывать эту функцию напрямую. Это особенно важно, file_clock
так как стандарт ISO C++ позволяет этому типу определять to_utc
или , или from_utc
to_sys
from_sys
. Так как реализация может отличаться от поставщика, можно использовать clock_cast
вместо этого, которая предоставляется всеми поставщиками библиотеки.
Пример: 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
Статическое значение, указывающее, являются ли часы постоянными. В реализации is_steady
Майкрософт используется false
. Это делает эти часы непригодными для измерения времени операции, потому что незаменяемые часы можно настроить, пока вы используете время, поэтому измеряемое время может быть отключено или даже отрицательно. high_resolution_clock
Вместо этого используйте события времени.
static const bool is_steady = false;
сейчас
Статический метод, возвращающий текущее системное время с разрешением nanosecond, скорректированным эпохой.file_clock
static time_point now() noexcept;
Возвращаемое значение
Объект time_point, представляющий текущее время.
См. также
<chrono>
gps_clock class
high_resolution_clock
Структура local_t
Структура steady_clock
Структура system_clock
Класс tai_clock
Класс utc_clock
Справочник по файлам заголовков