namespace std::chrono {
template <class Duration>
leap_second_info get_leap_second_info(const utc_time<Duration>& ut);
}
概要
指定した日時までに挿入されたうるう秒の回数を取得する。
戻り値
戻り値型leap_second_info
の各メンバ変数は、以下の値が代入される:
メンバ変数 | 説明 |
---|---|
is_leap_second |
ut 自身がうるう秒であればtrue 、そうでなければfalse |
elapsed |
1970年1月1日からut までに正のうるう秒が挿入された合計 (秒数)。合計には ut を含む |
例
#include <iostream>
#include <chrono>
namespace chrono = std::chrono;
using namespace std::chrono_literals;
int main()
{
std::cout << std::boolalpha;
{
chrono::utc_time now = chrono::utc_clock::now();
chrono::leap_second_info info = chrono::get_leap_second_info(now);
std::cout << info.is_leap_second << std::endl;
std::cout << info.elapsed.count() << std::endl;
}
std::cout << std::endl;
{
// 2017年1月1日はうるう秒が挿入された日
chrono::utc_time date = chrono::clock_cast<chrono::utc_clock>(chrono::sys_days{2017y/1/1});
chrono::leap_second_info info = chrono::get_leap_second_info(date);
std::cout << info.is_leap_second << std::endl;
std::cout << info.elapsed.count() << std::endl;
}
}
出力例
false
27
true
27
処理系
- Clang: 9.0 ❌
- GCC: 9.2 ❌
- Visual C++: 2019 Update 3 ❌