您好我有两个字符串:
entertime "2014-03-06T09:35:36Z"
exittime "2014-03-06T09:38:36Z"
我希望能够返回差异,在这种情况下应该返回3分钟。
我的方法如下:
boost::gregorian::date returnTime(std::string entertime, std::string exittime){
boost::gregorian::date denter = boost::gregorian::from_string(entertime);
boost::gregorian::date dexit = boost::gregorian::from_string(entertime);
boost::gregorian::date dresult = dexit-denter;
有什么方法可以获得这个时间差异吗?
提前谢谢!
答案 0 :(得分:1)
不幸的是,您的特定时间戳没有直接转换器,如果您可以删除所有分隔符并形成符合iso规范的字符串,那么您可以执行以下操作:
auto ts1 = boost::posix_time::from_iso_string("20140306T093536Z");
auto ts2 = boost::posix_time::from_iso_string("20140306T093836Z");
std::cout << (ts2 - ts1) << std::endl;
这应该按预期输出00:03:00
。注意此处的类型为(ts1
&amp; ts2
为boost::posix_time::ptime
,delta为boost::posix_time::time_duration
)