Boost - 使用时间戳格式化亚秒级精度时间
我需要获得一个格式良好、精度为毫秒的时间戳(稍微修改了 ISO 8601)。
示例日期如下所示:2011-09-28 13:11:15.237-08:00
格式也应该能够被覆盖。
我一直在玩 boost:: posix_time::microsec_clock::local_time()
和 boost::posix_time::time_facet< /code>
工作得很好,除了时间戳之外。
由于 posix 时间不包含时区信息,这是不可能的(我猜测)
所以,我是否可以使用包含时区信息的毫秒精度的其他东西,或者我可以制作 time_facet
使用时区?
也许我应该始终使用 UTC?
谢谢
I need to get a nicely formatted timestamp (slightly modified ISO 8601) with millisecond precision.
And example date would look like this: 2011-09-28 13:11:15.237-08:00
The formatting should be able to be overwridden as well.
I've been playing around with boost::posix_time::microsec_clock::local_time()
and boost::posix_time::time_facet
which works just fine except when it comes to timestamps.
Since posix time doesn't contain time zone information this is just not possible (I'm guessing)
So, is there anything else I could use that has millisecond precision that contains timezone information or can I make the time_facet
work with timezones?
Maybe I should always use UTC?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看一下 boost::local_time::local_date_time 类。您可以指定一个时区并使用本地微秒时钟来初始化它,就像
您应该能够使用构面格式化为字符串一样。
编辑:完整示例:
Have a look at the boost::local_time::local_date_time class. You can specify a time zone and use the local microsecond clock to initialize it like
You should then be able to use the facets to format to a string.
Edit: Full example: