Как преобразовать дату/время в количество секунд чтобы хранить в int32?
#include <iostream>
#include <boost/date_time/posix_time/posix_time.hpp>
int main()
{
boost::posix_time::ptime t = boost::posix_time::second_clock::universal_time();
std::cout << t << std::endl;
t += boost::posix_time::minutes(1);
std::cout << t << std::endl;
return 0;
}
И есть ли еще какой-то способ получить значение времени по UTC?
boost::posix_time::to_time_t(t)
Можно получить в виде количества секунд используя функцию time() с нулевым аргументом: auto t = time(nullptr) (библиотека <ctime>). Преобразовать полученный результат в utc можно используя функцию из той же библиотеки localtime_s(): 1-й аргумент указатель на структуру tm, куда необходимо записать результат, 2-й - указатель на значение времени в секундах
#include <ctime>
#include <iostream>
int main()
{
auto t = time(nullptr);
tm ct;
localtime_s(&ct, &t);
std::cout << ct.tm_year << "." << ct.tm_mon << "." << ct.tm_mday << " ";
std::cout << ct.tm_hour << ":" << ct.tm_min << ":" << ct.tm_sec << "\n";
return 0;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости