다음을 통해 공유


file_clock 클래스

이 클록은 파일 시스템에 사용되는 파일 시간 값의 범위와 해상도를 나타낼 수 있습니다.

구문

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

설명

Microsoft 구현에서 Epoch 또는 시간 측정 시작 시간은 file_clock 1/1/1/1601 00:00:00입니다.

ISO C++ 표준은 제공 to_sys()from_sys(), 또는 to_utc() from_utc(). Microsoft 구현은 to_utcfrom_utc 선택합니다.

멤버

속성 설명
from_utc 정적. utc_timefile_time로 변환합니다.
now 정적. 현재 국제 원자 시간을 반환합니다.
to_utc 정적. 를 file_time utc_time으로 변환합니다.

비멤버

속성 설명
from_stream 지정된 형식을 file_clock 사용하여 지정된 스트림에서 구문 분석합니다.
operator<< 지정된 스트림에 출력 file_time 합니다.

편의 유형 별칭

속성 설명
file_clock::duration Microsoft의 구현에서는 동의어 duration<long long, ratio<1, 10'000'000>입니다. 100나노초 단위로 측정된 기간을 나타냅니다.
file_clock::time_point time_point<File_time_clock>의 동의어입니다. 이 클록의 경우를 time_point 나타내는 데 사용됩니다.
file_clock::period Microsoft의 구현에서는 동의어 ratio<1, 10'000'000>입니다. 기간의 각 틱 사이의 시간(초)(100나노초)을 나타냅니다.
file_clock::rep 이 클록의 정수 단위를 나타내는 데 사용되는 형식(long long)의 동의어입니다 file_clock::duration.

관련

속성 설명
file_time time_point<file_clock, Duration>의 동의어입니다. 에 대한 a time_pointfile_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입니다.

반환 값

해당하는 utc_time t을 나타내는 A file_time 입니다. 2017년 1월 1일(27) 이전의 윤초 수를 뺀 값으로 utc_clock::to_sys(utc_time).time_since_epoch() 계산됩니다. Windows 10 버전 1809 및 Windows Server 2019는 윤초에 대한 지원을 도입했습니다. 이 지원은 기본적으로 사용하도록 설정되어 있지만 사용하지 않도록 설정할 수 있습니다. 사용하도록 설정하면 2018년 7월(2017년 1월 1일과 2018년 7월 사이의 윤초가 아님) 이후의 윤초만 해당 시간에 포함됩니다.

이 함수를 직접 호출하는 대신 시계 간에 시간 지점을 변환하는 데 사용하는 std::chrono::clock_cast 것이 좋습니다. ISO C++ 표준에서는 이 형식이 둘 중 하나 to_utcfrom_utc또는 to_sys from_sys를 정의할 수 있기 때문에 특히 관련이 file_clock 있습니다. 이 구현은 공급업체에 따라 다를 수 있으므로 모든 라이브러리 공급업체에서 제공하는 대신 사용할 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입니다.

Return Value

해당하는 file_time t을 나타내는 A utc_time 입니다. 이 함수를 직접 호출하는 대신 시계 간에 시간 지점을 변환하는 데 사용하는 std::chrono::clock_cast 것이 좋습니다. ISO C++ 표준에서는 이 형식이 둘 중 하나 to_utcfrom_utc또는 to_sys from_sys를 정의할 수 있기 때문에 특히 관련이 file_clock 있습니다. 이 구현은 공급업체에 따라 다를 수 있으므로 모든 라이브러리 공급업체에서 제공하는 대신 사용할 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

시간 형식이 지속인지를 지정하는 정적 값입니다. Microsoft 구현 is_steady 에서는 .입니다 false. 이렇게 하면 측정된 시간이 꺼지거나 음수일 수 있도록 타이밍을 맞추는 동안 불안정한 클록을 조정할 수 있기 때문에 작업이 걸리는 시간을 측정하는 데 적합하지 않습니다. 대신 시간 high_resolution_clock 별 이벤트를 사용합니다.

static const bool is_steady = false;

지금

나노초 해상도를 사용하여 현재 시스템 시간을 반환하는 정적 메서드는 epoch에 file_clock의해 조정됩니다.

static time_point now() noexcept;

Return Value

현재 시간을 나타내는 time_point 개체입니다.

참고 항목

<chrono>
gps_clock class
high_resolution_clock
local_t 구조체
steady_clock 구조체
system_clock 구조체
tai_clock 클래스
utc_clock 클래스
헤더 파일 참조