cpp / latest / chrono / system_clock / to_time_t.html /

std::chrono::system_clock::to_time_t

static std::time_t to_time_t( const time_point& t ) noexcept;
(since C++11)

Converts t to a std::time_t type.

If std::time_t has lower precision, it is implementation-defined whether the value is rounded or truncated.

Parameters

t - system clock time point to convert

Return value

A std::time_t value representing t.

Example

Get the current time as a time_t two ways.

#include <iostream>
#include <ctime>
#include <chrono>
#include <thread>
using namespace std::chrono_literals;
 
int main()
{
    // The old way
    std::time_t oldt = std::time(nullptr);
 
    std::this_thread::sleep_for(2700ms);
 
    // The new way
    std::time_t newt = std::chrono::system_clock::to_time_t(
                           std::chrono::system_clock::now());
 
    std::cout << "oldt-newt == " << oldt-newt << " s\n";
}

Possible output:

oldt-newt == -3 s

See also

[static]
converts std::time_t to a system clock time point
(public static member function)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/chrono/system_clock/to_time_t