Namespaces
Variants

std::chrono::system_clock:: to_time_t

From cppreference.net
static std:: time_t to_time_t ( const time_point & t ) noexcept ;
(C++11以降)

t std::time_t 型に変換します。

std::time_t の精度が低い場合、値が丸められるか切り捨てられるかは実装定義です。

目次

パラメータ

t - 変換するシステムクロックの時間点

戻り値

std::time_t 値を表す t

現在時刻を std::time_t として2通りの方法で取得します。

#include <chrono>
#include <ctime>
#include <iostream>
#include <thread>
using namespace std::chrono_literals;
int main()
{
    // 従来の方法
    std::time_t oldt = std::time({});
    std::this_thread::sleep_for(2700ms);
    // 新しい方法
    auto const now = std::chrono::system_clock::now();
    std::time_t newt = std::chrono::system_clock::to_time_t(now);
    std::cout << "newt - oldt == " << newt - oldt << " s\n";
}

出力例:

newt - oldt == 3 s

関連項目

[static]
std::time_t をシステムクロックの時間点に変換する
(公開静的メンバ関数)