sys_info
结构
提供时区信息的低级别接口。
语法
struct sys_info;
备注
为有关将 sys_time
转换为 local_time
的结果的时区信息提供一个低级别接口。
成员
Function | 说明 |
---|---|
abbrev |
用于关联的 time_zone 和 time_point 的缩写。 |
begin , end |
offset 和 abbrev 适用于关联时区的范围。 |
offset |
关联的 time_zone 和 time_point 正在使用的协调世界时 (UTC) 时差。 |
save |
夏令时调整时差。 |
非成员
函数 | 说明 |
---|---|
operator<< |
将 sys_info 输出到流。 |
abbrev
用于关联的 time_zone
和 time_point
的缩写。
string abbrev;
返回值
缩写。
备注
缩写在 time_zone
中并不唯一。 这意味着无法可靠地将缩写映射回 time_zone
和 UTC 时差。
begin
, end
提供 offset
和 abbrev
适用于关联时区 [begin, end)
的范围。
sys_seconds begin;
sys_seconds end;
返回值
返回的 sys_seconds
是相对于关联 time_point
的时差。
offset
关联时区和 time_point
正在使用的 UTC 时差。
seconds offset;
返回值
local_time
和 sys_time
两者之间的关系是:offset = local_time - sys_time
。
save
指示 sys_info
是否使用夏令时,如果使用,则建议此时区在不使用夏令时的情况下可能使用的时差。
minutes save;
返回值
如果为 save != 0min
,则时区使用关联 time_point
的夏令时。 在这种情况下,如果不使用夏令时,则 offset-save
推荐此 time_zone
可能使用的时差。
此时差不具权威性。 若要获取有权威性的时差,请将查询与使用了不在夏令时期间的 time_point
的时区进行比较。 也就是说,与导致 save
值为零的 time_point
进行比较。
示例:获取 sys_info
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
sys_time<system_clock::duration> st = system_clock::now();
const auto& timeZoneDatabase = get_tzdb();
const auto& currentZone = timeZoneDatabase.current_zone();
auto sysInfo = currentZone->get_info(st);
std::cout << sysInfo << "\n";
return 0;
}
begin: 2021-03-14 10:00:00, end: 2021-11-07 09:00:00, offset: -25200s, save: 60min, abbrev: PDT
要求
标头:<chrono>
命名空间:std::chrono
编译器选项: /std:c++latest
<chrono>
file_clock class
high_resolution_clock
local_t
结构
system_clock
结构
tai_clock
类
utc_clock
类
头文件引用