将tm结构转换为boost :: local_time :: local_date_time

Ric*_*ard 3 c++ boost

如何boost::local_time::local_date_timetm时间结构中创建对象?

irh*_*irh 5

有点痛苦,但似乎你必须经过posix_time :: ptime:

using namespace boost;
time_t rawtime;
time(&rawtime);
struct tm* timeinfo = localtime(&rawtime);
posix_time::ptime my_ptime = posix_time::ptime_from_tm(*timeinfo);
local_time::time_zone_ptr zone(new local_time::posix_time_zone("GMT"));
local_time::local_date_time my_ldt(my_ptime, zone);
std::cout << "local_date_time: " << my_ldt << std::endl;
Run Code Online (Sandbox Code Playgroud)