获取 YYYY-MM-DD-HH-MM-SS 字符串形式的当前时间
我试图以一种优雅的方式将当前时间获取为“YYYY-MM-DD-HH-MM-SS”格式的字符串。我可以从 Boost 的“日期时间”库中获取 ISO 格式的当前时间,但它还有其他对我不起作用的分隔字符串(我在文件名中使用它)。 当然,我可以只替换分隔字符串,但感觉有一种更好的方法可以使用日期时间的格式选项来实现此目的。有没有这样的方法,如果有的话,我该如何使用它?
I'm trying to get the current time as a "YYYY-MM-DD-HH-MM-SS" formatted string in an elegant way. I can take the current time in ISO format from Boost's "Date Time" library, but it has other delimiting strings which won't work for me (I'm using this in a filename).
Of course I can just replace the delimiting strings, but have a feeling that there's a nicer way to do this with date-time's formatting options. Is there such a way, and if so, how can I use it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
std::strftime
,就是标准C++。Use
std::strftime
, it is standard C++.答案取决于“获取”和“获取”的含义。如果您尝试输出格式化的时间字符串,请使用 strftime()。如果您尝试将文本字符串解析为二进制格式,请使用 strptime()。
The answer depends on what you mean by get and take. If you are trying to output a formatted time string, use strftime(). If you are trying to parse a text string into a binary format, use strptime().