1

我正在尝试以这种格式读/写日期: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,如果它不存在,则表示时间在当地时区。我想要一些通用且无错误的版本来阅读它。

4

1 回答 1

1

查看 Boost.DateTime IO 教程中有关格式化字符串的部分。

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

我想你会在那里找到你的答案。

于 2012-02-20T02:59:55.153 回答