一个非常简单的问题。我一直在使用date.h从完整的datestamp中获取毫秒和纳秒级的时间。
istringstream temp_ss1{timestamp1};
sys_time<nanoseconds> tp1;
temp_ss1 >> parse("%Y/%m/%d,%T", tp1);
std::cout << tp1.time_since_epoch().count() << "ns\n";
从毫秒级时间到毫秒级完整日期戳的方法是什么?
非常感谢您的帮助 !
如果您对格式不满意,可以将其sys_time<milliseconds>
输出。如果您想控制格式,则可以date::format
与这些格式设置标志一起使用。例如:
std::cout << format("%Y/%m/%d,%T", tp1) << '\n';
输出的精度将与的精度匹配time_point
。
有没有转换的方法。“ long epoch = 1609330278454”是否存在需要较长时间并打印日期的功能?
#include "date/date.h"
#include <iostream>
int
main()
{
using namespace date;
using namespace std;
using namespace std::chrono;
long epoch = 1609330278454;
cout << sys_time<milliseconds>{milliseconds{epoch}} << '\n';
}
输出:
2020-12-30 12:11:18.454
您可以像这样自定义格式:
long epoch = 1609330278454;
sys_time<milliseconds> tp{milliseconds{epoch}};
cout << format("%Y/%m/%d,%T", tp) << '\n';
输出:
2020/12/30,12:11:18.454
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句