C++ 如何使用闰秒获取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(); 如何使

如何在调整闰秒的情况下以微秒为单位获得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库实现此功能?

使用此功能非常简单:

#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