阅读和写作日期与提升

时间:2012-02-20 00:38:16

标签: c++ boost boost-date-time

我正在尝试以这种格式读/写日期: YYYY-MM-DDTHH:MM:SSZ

我这样做:

boost::posix_time::ptime t = boost::posix_time::time_from_string( "2012-02-20T00:26:39Z" );
std::cout << boost::posix_time::to_iso_extended_string( t ) << std::endl;

如果我删除最后的Z,它会起作用,但是如果我保留它会抛出异常(错误的词法转换:源类型值不能被解释为目标)。

有没有更好的方法来处理这些日期,而无需手动删除/添加Z?从我在这里和那里读到的,我理解Z表示GMT,如果它不存在则表示时间在当地时区。我想要一些通用和无版本的版本来阅读它。

1 个答案:

答案 0 :(得分:1)

查看Boost.DateTime IO Tutorial中格式化字符串的部分。

http://www.boost.org/doc/libs/1_48_0/doc/html/date_time/date_time_io.html#format_strings

我很瘦,你会在那里找到答案。