C++ 如何使用闰秒获取UTC时间(微秒)
如何在调整闰秒的情况下以微秒为单位获得UTC时间? 我正在使用C++ 如何使用闰秒获取UTC时间(微秒),c++,boost,C++,Boost,如何在调整闰秒的情况下以微秒为单位获得UTC时间? 我正在使用boost::universal\u clock() 但其结果与 std::chrono::time_point_cast<std::chrono::duration<int64_t, std::microseconds>>( std::chrono::system_clock::now()) .time_since_epoch() .count(); 如何使
boost::universal\u clock()
但其结果与
std::chrono::time_point_cast<std::chrono::duration<int64_t, std::microseconds>>(
std::chrono::system_clock::now())
.time_since_epoch()
.count();
如何使用boost库实现此功能?使用此功能非常简单:
#include "date/tz.h"
#include <iostream>
int
main()
{
using namespace date;
using namespace std;
using namespace std::chrono;
auto now = floor<microseconds>(utc_clock::now());
cout << now << '\n';
cout << now.time_since_epoch() << '\n';
cout << clock_cast<system_clock>(now).time_since_epoch() << '\n';
}
操作系统是否以微秒分辨率提供当前时间?@MichaelChourdakis使用秒时钟在这里不会有什么区别。我正在比较秒数。非常感谢。你的图书馆看起来很棒。但是,我不能在我的项目中使用任何外部库。例如boost?;-)好吧,等一年,然后升级到C++20。
time_t mytime;
struct tm *ptm;
time(&mytime); // Get local time in time_t
ptm = gmtime(&mytime); // Find out UTC time
time_t utctime = mktime(ptm); // Get UTC time as time_t
#include "date/tz.h"
#include <iostream>
int
main()
{
using namespace date;
using namespace std;
using namespace std::chrono;
auto now = floor<microseconds>(utc_clock::now());
cout << now << '\n';
cout << now.time_since_epoch() << '\n';
cout << clock_cast<system_clock>(now).time_since_epoch() << '\n';
}
2019-08-10 00:19:04.388788
1565396371388788µs
1565396344388788µs