std::chrono::time_point<Clock,Duration>::time_since_epoch (3) - Linux Manuals

std::chrono::time_point<Clock,Duration>::time_since_epoch: std::chrono::time_point<Clock,Duration>::time_since_epoch

NAME

std::chrono::time_point<Clock,Duration>::time_since_epoch - std::chrono::time_point<Clock,Duration>::time_since_epoch

Synopsis


duration time_since_epoch() const; (since C++11)
                                              (until C++14)
constexpr duration time_since_epoch() const; (since C++14)


Returns a duration representing the amount of time between *this and the clock's epoch.

Parameters


(none)

Return value


The amount of time between this time_point and the clock's epoch

Example


// Run this code


  #include <iostream>
  #include <chrono>
  #include <ctime>


  int main()
  {
      const auto p0 = std::chrono::time_point<std::chrono::system_clock>{};
      const auto p1 = std::chrono::system_clock::now();
      const auto p2 = p1 - std::chrono::hours(24);


      std::time_t epoch_time = std::chrono::system_clock::to_time_t(p0);
      std::cout << "epoch: " << std::ctime(&epoch_time);
      std::time_t today_time = std::chrono::system_clock::to_time_t(p1);
      std::cout << "today: " << std::ctime(&today_time);


      std::cout << "hours since epoch: "
                << std::chrono::duration_cast<std::chrono::hours>(
                     p1.time_since_epoch()).count()
                << '\n';
      std::cout << "yesterday, hours since epoch: "
                << std::chrono::duration_cast<std::chrono::hours>(
                     p2.time_since_epoch()).count()
                << '\n';
  }

Possible output:


  epoch: Thu Jan 1 00:00:00 1970
  today: Fri Jun 30 10:44:11 2017
  hours since epoch: 416338
  yesterday, hours since epoch: 416314