Функция to_time_t
Функция to_time_t класса system_clock
преобразует момент времени, представленный объектом
time_point, в значение типа time_t.
Тип time_t обычно представляет собой целое число,
хранящее количество секунд, прошедших с начала эпохи
Unix (1 января 1970 года). Функция
принимает один параметр - момент времени
time_point, который необходимо преобразовать,
и возвращает значение типа time_t.
Синтаксис
static std::time_t to_time_t(const std::chrono::system_clock::time_point& t);
Пример
Давайте получим текущий момент времени с помощью
функции now и преобразуем его в time_t
при помощи to_time_t:
#include <iostream>
#include <chrono>
using namespace std;
int main()
{
auto now = chrono::system_clock::now();
time_t t = chrono::system_clock::to_time_t(now);
cout << t << endl;
return 0;
}
Результат выполнения кода:
1700000000
Пример
Давайте преобразуем конкретный момент времени,
созданный из секунд, в time_t и выведем
количество секунд:
#include <iostream>
#include <chrono>
using namespace std;
int main()
{
chrono::system_clock::time_point tp = chrono::system_clock::time_point(chrono::seconds(100));
time_t t = chrono::system_clock::to_time_t(tp);
cout << t << endl;
return 0;
}
Результат выполнения кода:
100
Пример
Давайте преобразуем момент времени в time_t,
а затем выведем его через функцию ctime
в читаемом виде:
#include <iostream>
#include <chrono>
#include <ctime>
using namespace std;
int main()
{
auto now = chrono::system_clock::now();
time_t t = chrono::system_clock::to_time_t(now);
cout << ctime(&t) << endl;
return 0;
}
Результат выполнения кода:
"Wed Nov 15 12:00:00 2023"
Смотрите также
-
класс
system_clock,
который представляет системные часы -
функция
now,
которая возвращает текущий момент времени -
функция
from_time_t,
которая преобразует time_t в time_point -
класс
time_point,
который представляет момент времени