boost ptime
实例是否始终为UTC?我看不到任何时区信息。
答案 0 :(得分:4)
ptime没有关联的时区信息。它不知道内容是UTC还是本地时间。事实上,你可以做一些愚蠢的事情:
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/c_local_time_adjustor.hpp>
#include <iostream>
int main()
{
using namespace boost::posix_time;
ptime pt1 = microsec_clock::local_time();
std::cout << "Local: " << pt1 << std::endl;
std::cout << "UTC: " << microsec_clock::universal_time() << std::endl;
// !!!
ptime pt2 = boost::date_time::c_local_adjustor<ptime>::utc_to_local(pt1);
std::cout << "Oops: " << pt2 << std::endl;
}
它会很乐意为你创造一个毫无意义的时间。
答案 1 :(得分:1)
他们是你想要的任何时区。只要您的计算一致,那么值代表的时区应该无关紧要。