生成带有分数和时区的完整iso日期时间表示字符串

时间:2019-04-26 07:29:28

标签: c++ datetime boost iso8601

我要打印符合以下格式的符合ISO 8601的字符串: 完整的日期时间表示形式,如ISO

  

4.3.2完整表示

1985-04-12T10:15:30Z

结合
  

4.2.2.4十进制小数表示

23:20:50,5

的允许组合
  

4.3.3完整以外的表示形式

19850412T101530,42 + 04 1985-04-12T10:15:30.32Z

的形式

使用当前时间(墙上时钟)显示日期,但是我什至不了解如何通过使用boost文档来打印当前时间的简单日期时间字符串。

1 个答案:

答案 0 :(得分:0)

您说要打印“ 当前(挂钟)”,但是您的示例显示“ 1985 ”?...

以下内容将以ISO格式打印当前时间

#include <iostream>
#include <boost/date_time.hpp>

int main()
{
    auto now = boost::posix_time::microsec_clock::universal_time();

    std::cout << to_iso_extended_string(now) << std::endl;
}

输出:

2019-04-26T07:52:34.533296

注意:ISO时间始终为UTC时区,因此您只需在其后缀“ Z”(祖鲁语)后缀即可。

有关更多详细信息,请参见Posix_time documentation