187 lines
11 KiB
HTML
187 lines
11 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
|
|
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<title>std::chrono::tai_clock</title>
|
|
<link rel="stylesheet" href="ext.css" />
|
|
<link rel="stylesheet" href="site_modules.css" />
|
|
</head>
|
|
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_chrono_tai_clock skin-cppreference2 action-view cpp-navbar">
|
|
<div id="cpp-content-base">
|
|
<div id="content"><a id="top"></a>
|
|
<h1 id="firstHeading" class="firstHeading"><span style="font-size:0.7em; line-height:130%">std::chrono::</span>tai_clock</h1>
|
|
<div id="bodyContent">
|
|
<div id="contentSub"><span class="subpages">< <a href="cpp.html">cpp</a>‎ | <a href="cpp-chrono.html">chrono</a></span></div>
|
|
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
|
|
<table class="t-dcl-begin">
|
|
<tbody>
|
|
<tr class="t-dsc-header">
|
|
<td>
|
|
<div>定义于头文件 <code><a href="cpp-header-chrono.html"><chrono></a></code></div>
|
|
</td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="t-dcl t-since-cxx20">
|
|
<td>
|
|
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">class</span> tai_clock<span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td class="t-dcl-nopad"></td>
|
|
<td><span class="t-mark-rev t-since-cxx20">(C++20 起)</span></td>
|
|
</tr>
|
|
<tr class="t-dcl-sep">
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>时钟 <code>std::chrono::tai_clock</code> 是表示国际原子时 (International Atomic Time, TAI) 概念的<a href="cpp-named_req-Clock.html"><span style="font-style:italic">时钟</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(Clock)</span></a> 。它度量从 1958 年 1 月 1 日 00:00:00 开始的时间,并且在当天提前 UTC 10 秒(即其纪元 1958-01-01 00:00:00 TAI 是 1957-12-31 23:59:50 UTC )。</p>
|
|
<p>不插入闰秒到 TAI 中。从而每次插入一闰秒到 UTC 中, UTC 就多落后 TAI 一秒。迄至 2017 年 12 月, UTC 比 TAI 落后 37 秒,反映了 10 秒的初始差距和 1958 到 2017 年间插入的 27 闰秒。从而 2018-01-01 00:00:00 UTC 等价于 2018-01-01 00:00:37 TAI 。</p>
|
|
<p><code>tai_clock</code> 满足<a href="cpp-named_req-Clock.html"><span style="font-style:italic">时钟</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(Clock)</span></a> 要求。它不满足<a href="cpp-named_req-TrivialClock.html"><span style="font-style:italic">平凡时钟</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(TrivialClock)</span></a> 要求,除非实现能保证 <a href="cpp-chrono-tai_clock-now.html"><tt>now()</tt></a> 不抛异常。</p>
|
|
<h3><span class="mw-headline" id=".E6.97.B6.E9.97.B4.E7.82.B9.E6.97.8F">时间点族</span></h3>
|
|
<table class="t-dcl-begin">
|
|
<tbody>
|
|
<tr class="t-dcl-sep">
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="t-dcl-h">
|
|
<td>
|
|
<div>定义于命名空间 <code>std::chrono</code></div>
|
|
</td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="t-dcl t-since-cxx20">
|
|
<td>
|
|
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">template</span><span class="sy1"><</span><span class="kw1">class</span> Duration<span class="sy1">></span><br />
|
|
<span class="kw1">using</span> tai_time <span class="sy1">=</span> <a href="cpp-chrono-time_point.html"><span class="kw991">std::<span class="me2">chrono</span><span class="sy4">::</span><span class="me2">time_point</span></span></a><span class="sy1"><</span>std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">tai_clock</span>, Duration<span class="sy1">></span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td class="t-dcl-nopad"></td>
|
|
<td><span class="t-mark-rev t-since-cxx20">(C++20 起)</span></td>
|
|
</tr>
|
|
<tr class="t-dcl t-since-cxx20">
|
|
<td>
|
|
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">using</span> tai_seconds <span class="sy1">=</span> tai_time<span class="sy1"><</span><a href="cpp-chrono-duration.html"><span class="kw997">std::<span class="me2">chrono</span><span class="sy4">::</span><span class="me2">seconds</span></span></a><span class="sy1">></span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td class="t-dcl-nopad"></td>
|
|
<td><span class="t-mark-rev t-since-cxx20">(C++20 起)</span></td>
|
|
</tr>
|
|
<tr class="t-dcl-sep">
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-chrono-tai_clock-operator_ltlt.html"><span class="t-lines"><span>operator<<<span class="t-dsc-small">(std::chrono::tai_time)</span></span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx20">(C++20)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>进行 tai_time 上的流输出<br />
|
|
<span class="t-mark">(函数模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-chrono-tai_clock-from_stream.html"><span class="t-lines"><span>from_stream<span class="t-dsc-small">(std::chrono::tai_time)</span></span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx20">(C++20)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>按照给定的格式从流分析 tai_time<br />
|
|
<span class="t-mark">(函数模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-chrono-tai_clock-formatter.html"><span class="t-lines"><span>std::formatter<span class="t-dsc-small"><std::chrono::tai_time></span></span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx20">(C++20)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td><span class="t-lc">std::formatter</span> 的特化,按照提供的格式格式化 <code>tai_time</code><br />
|
|
<span class="t-mark">(类模板特化)</span></td>
|
|
</tr>
|
|
</table>
|
|
<h3><span class="mw-headline" id=".E6.88.90.E5.91.98.E7.B1.BB.E5.9E.8B">成员类型</span></h3>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc-hitem">
|
|
<td>成员类型</td>
|
|
<td>定义</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>rep</code></td>
|
|
<td>表示时钟时长中计次数的有符号算术类型</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>period</code></td>
|
|
<td>表示时钟计次周期的 <span class="t-lc"><a href="cpp-numeric-ratio-ratio.html">std::ratio</a></span> 类型,单位为秒</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>duration</code></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-chrono-duration.html"><span class="kw993">std::<span class="me2">chrono</span><span class="sy4">::</span><span class="me2">duration</span></span></a><span class="sy1"><</span>rep, period<span class="sy1">></span></span></span> ,足以表示负时长</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>time_point</code></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-chrono-time_point.html"><span class="kw991">std::<span class="me2">chrono</span><span class="sy4">::</span><span class="me2">time_point</span></span></a><span class="sy1"><</span>std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">tai_clock</span><span class="sy1">></span></span></span></td>
|
|
</tr>
|
|
</table>
|
|
<h3><span class="mw-headline" id=".E6.88.90.E5.91.98.E5.B8.B8.E9.87.8F">成员常量</span></h3>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><span class="t-lines"><span><span class="t-dsc-small">constexpr bool</span> is_steady</span></span></div>
|
|
<div><span class="t-lines"><span><span class="t-cmark">[静态]</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>若时间间隔计次始终为常数,即纵使在调整了外部时钟的情况下,调用 <a href="cpp-chrono-tai_clock-now.html"><tt>now()</tt></a> 的返回值亦单调递增,则为 <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">true</span></span></span> ;否则为 <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw2">false</span></span></span><br />
|
|
<span class="t-mark">(公开静态成员常量)</span></td>
|
|
</tr>
|
|
</table>
|
|
<h3><span class="mw-headline" id=".E6.88.90.E5.91.98.E5.87.BD.E6.95.B0">成员函数</span></h3>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-chrono-tai_clock-now.html"><span class="t-lines"><span>now</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-cmark">[静态]</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回表示当前时间点的 <span class="t-lc"><a href="cpp-chrono-time_point.html">std::chrono::time_point</a></span><br />
|
|
<span class="t-mark">(公开静态成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-chrono-tai_clock-to_utc.html"><span class="t-lines"><span>to_utc</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-cmark">[静态]</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>转换 <code>tai_time</code> 为 <code>utc_time</code><br />
|
|
<span class="t-mark">(公开静态成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-chrono-tai_clock-from_utc.html"><span class="t-lines"><span>from_utc</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-cmark">[静态]</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>从 <code>utc_time</code> 转换到 <code>tai_time</code><br />
|
|
<span class="t-mark">(公开静态成员函数)</span></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|