252 lines
21 KiB
HTML
252 lines
21 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::zoned_time<Duration,TimeZonePtr>::zoned_time</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_zoned_time_zoned_time 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::zoned_time<Duration,TimeZonePtr>::</span>zoned_time</h1>
|
|
<div id="bodyContent">
|
|
<div id="contentSub"><span class="subpages">< <a href="cpp.html">cpp</a>‎ | <a href="cpp-chrono.html">chrono</a>‎ | <a href="cpp-chrono-zoned_time.html">zoned time</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-dcl t-since-cxx20">
|
|
<td>
|
|
<div><span class="mw-geshi cpp source-cpp">zoned_time<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td>(1)</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">zoned_time<span class="br0">(</span><span class="kw4">const</span> std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">sys_time</span><span class="sy1"><</span>Duration<span class="sy1">></span><span class="sy3">&</span> st<span class="br0">)</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td>(2)</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">zoned_time<span class="br0">(</span><span class="kw4">const</span> zoned_time<span class="sy3">&</span> other<span class="br0">)</span> <span class="sy1">=</span> <span class="kw1">default</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td>(3)</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">template</span><span class="sy1"><</span> <span class="kw1">class</span> Duration2 <span class="sy1">></span><br />
|
|
zoned_time<span class="br0">(</span><span class="kw4">const</span> std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">zoned_time</span><span class="sy1"><</span>Duration2, TimeZonePtr<span class="sy1">></span><span class="sy3">&</span> other<span class="br0">)</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td>(4)</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">explicit</span> zoned_time<span class="br0">(</span>TimeZonePtr z<span class="br0">)</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td>(5)</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">explicit</span> zoned_time<span class="br0">(</span><a href="cpp-string-basic_string_view.html"><span class="kw1248">std::<span class="me2">string_view</span></span></a> name<span class="br0">)</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td>(6)</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">zoned_time<span class="br0">(</span>TimeZonePtr z, <span class="kw4">const</span> std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">sys_time</span><span class="sy1"><</span>Duration<span class="sy1">></span><span class="sy3">&</span> st<span class="br0">)</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td>(7)</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">zoned_time<span class="br0">(</span><a href="cpp-string-basic_string_view.html"><span class="kw1248">std::<span class="me2">string_view</span></span></a> name, <span class="kw4">const</span> std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">sys_time</span><span class="sy1"><</span>Duration<span class="sy1">></span><span class="sy3">&</span> st<span class="br0">)</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td>(8)</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">zoned_time<span class="br0">(</span>TimeZonePtr z, <span class="kw4">const</span> std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">local_time</span><span class="sy1"><</span>Duration<span class="sy1">></span><span class="sy3">&</span> tp<span class="br0">)</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td>(9)</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">zoned_time<span class="br0">(</span><a href="cpp-string-basic_string_view.html"><span class="kw1248">std::<span class="me2">string_view</span></span></a> name, <span class="kw4">const</span> std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">local_time</span><span class="sy1"><</span>Duration<span class="sy1">></span><span class="sy3">&</span> tp<span class="br0">)</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td>(10)</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">zoned_time<span class="br0">(</span>TimeZonePtr z, <span class="kw4">const</span> std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">local_time</span><span class="sy1"><</span>Duration<span class="sy1">></span><span class="sy3">&</span> tp,<br />
|
|
std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">choose</span> c<span class="br0">)</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td>(11)</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">zoned_time<span class="br0">(</span><a href="cpp-string-basic_string_view.html"><span class="kw1248">std::<span class="me2">string_view</span></span></a> name,<br />
|
|
<span class="kw4">const</span> std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">local_time</span><span class="sy1"><</span>Duration<span class="sy1">></span><span class="sy3">&</span> tp, std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">choose</span> c<span class="br0">)</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td>(12)</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">template</span><span class="sy1"><</span> <span class="kw1">class</span> Duration2, <span class="kw1">class</span> TimeZonePtr2 <span class="sy1">></span><br /></span>
|
|
<p>zoned_time<span class="br0">(</span>TimeZonePtr z,<br /></p>
|
|
<span class="kw4">const</span> std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">zoned_time</span><span class="sy1"><</span>Duration2, TimeZonePtr2<span class="sy1">></span><span class="sy3">&</span> zt<span class="br0">)</span><span class="sy4">;</span></div>
|
|
</td>
|
|
<td>(13)</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">template</span><span class="sy1"><</span> <span class="kw1">class</span> Duration2, <span class="kw1">class</span> TimeZonePtr2 <span class="sy1">></span><br /></span>
|
|
<p>zoned_time<span class="br0">(</span>TimeZonePtr z,<br />
|
|
<span class="kw4">const</span> std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">zoned_time</span><span class="sy1"><</span>Duration2, TimeZonePtr2<span class="sy1">></span><span class="sy3">&</span> zt,<br /></p>
|
|
std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">choose</span><span class="br0">)</span><span class="sy4">;</span></div>
|
|
</td>
|
|
<td>(14)</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">template</span><span class="sy1"><</span> <span class="kw1">class</span> Duration2, <span class="kw1">class</span> TimeZonePtr2 <span class="sy1">></span><br /></span>
|
|
<p>zoned_time<span class="br0">(</span><a href="cpp-string-basic_string_view.html"><span class="kw1248">std::<span class="me2">string_view</span></span></a> name,<br /></p>
|
|
<span class="kw4">const</span> std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">zoned_time</span><span class="sy1"><</span>Duration2, TimeZonePtr2<span class="sy1">></span><span class="sy3">&</span> zt<span class="br0">)</span><span class="sy4">;</span></div>
|
|
</td>
|
|
<td>(15)</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">template</span><span class="sy1"><</span> <span class="kw1">class</span> Duration2, <span class="kw1">class</span> TimeZonePtr2 <span class="sy1">></span><br /></span>
|
|
<p>zoned_time<span class="br0">(</span><a href="cpp-string-basic_string_view.html"><span class="kw1248">std::<span class="me2">string_view</span></span></a> name,<br />
|
|
<span class="kw4">const</span> std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">zoned_time</span><span class="sy1"><</span>Duration2, TimeZonePtr2<span class="sy1">></span><span class="sy3">&</span> zt,<br /></p>
|
|
std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">choose</span><span class="br0">)</span><span class="sy4">;</span></div>
|
|
</td>
|
|
<td>(16)</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>zoned_time</code> 对象,按照下表初始化存储的时区指针和时间点,其中 <code>traits</code> 为 <span class="t-c"><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">zoned_traits</span><span class="sy1"><</span>TimeZonePtr<span class="sy1">></span></span></span> :</p>
|
|
<table class="wikitable" style="font-size:85%; max-width:90em;">
|
|
<tr>
|
|
<th>重载</th>
|
|
<th>时区指针(记为 <code>zone</code> )</th>
|
|
<th>时间点( <span class="t-c"><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">sys_time</span><span class="sy1"><</span>duration<span class="sy1">></span></span></span> )</th>
|
|
<th>注意</th>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(1)</span></td>
|
|
<td rowspan="2"><span class="t-c"><span class="mw-geshi cpp source-cpp">traits<span class="sy4">::</span><span class="me2">default_zone</span><span class="br0">(</span><span class="br0">)</span></span></span></td>
|
|
<td>默认构造</td>
|
|
<td rowspan="2"><span class="t-v">(a)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(2)</span></td>
|
|
<td><code>st</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(3)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">other.<span class="me1">get_time_zone</span><span class="br0">(</span><span class="br0">)</span></span></span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">other.<span class="me1">get_sys_time</span><span class="br0">(</span><span class="br0">)</span></span></span></td>
|
|
<td><span class="t-v">(b)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(4)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">other.<span class="me1">get_time_zone</span><span class="br0">(</span><span class="br0">)</span></span></span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">other.<span class="me1">get_sys_time</span><span class="br0">(</span><span class="br0">)</span></span></span></td>
|
|
<td><span class="t-v">(e)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(5)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">move</span><span class="br0">(</span>z<span class="br0">)</span></span></span></td>
|
|
<td rowspan="2">默认构造</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(6)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">traits<span class="sy4">::</span><span class="me2">locate_zone</span><span class="br0">(</span>name<span class="br0">)</span></span></span></td>
|
|
<td><span class="t-v">(c)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(7)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">move</span><span class="br0">(</span>z<span class="br0">)</span></span></span></td>
|
|
<td rowspan="2"><code>st</code></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(8)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">traits<span class="sy4">::</span><span class="me2">locate_zone</span><span class="br0">(</span>name<span class="br0">)</span></span></span></td>
|
|
<td><span class="t-v">(c)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(9)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">move</span><span class="br0">(</span>z<span class="br0">)</span></span></span></td>
|
|
<td rowspan="2"><span class="t-c"><span class="mw-geshi cpp source-cpp">zone<span class="sy2">-</span><span class="sy1">></span>to_sys<span class="br0">(</span>tp<span class="br0">)</span></span></span></td>
|
|
<td><span class="t-v">(d)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(10)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">traits<span class="sy4">::</span><span class="me2">locate_zone</span><span class="br0">(</span>name<span class="br0">)</span></span></span></td>
|
|
<td><span class="t-v">(c,d)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(11)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">move</span><span class="br0">(</span>z<span class="br0">)</span></span></span></td>
|
|
<td rowspan="2"><span class="t-c"><span class="mw-geshi cpp source-cpp">zone<span class="sy2">-</span><span class="sy1">></span>to_sys<span class="br0">(</span>tp, c<span class="br0">)</span></span></span></td>
|
|
<td><span class="t-v">(d)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(12)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">traits<span class="sy4">::</span><span class="me2">locate_zone</span><span class="br0">(</span>name<span class="br0">)</span></span></span></td>
|
|
<td><span class="t-v">(c,d)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(13-14)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">move</span><span class="br0">(</span>z<span class="br0">)</span></span></span></td>
|
|
<td rowspan="2"><span class="t-c"><span class="mw-geshi cpp source-cpp">zt.<span class="me1">get_sys_time</span><span class="br0">(</span><span class="br0">)</span></span></span></td>
|
|
<td><span class="t-v">(e)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td><span class="t-v">(15-16)</span></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">traits<span class="sy4">::</span><span class="me2">locate_zone</span><span class="br0">(</span>name<span class="br0">)</span></span></span></td>
|
|
<td><span class="t-v">(c,e)</span></td>
|
|
</tr>
|
|
</table>
|
|
<div class="t-li1"><span class="t-li">a)</span> 若 <span class="t-c"><span class="mw-geshi cpp source-cpp">traits<span class="sy4">::</span><span class="me2">default_zone</span><span class="br0">(</span><span class="br0">)</span></span></span> 非良式,则指定来调用该表达式的构造函数 <span class="t-v">(1-2)</span> 不参与重载决议。</div>
|
|
<div class="t-li1"><span class="t-li">b)</span> 若 <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-types-is_copy_constructible.html"><span class="kw533">std::<span class="me2">is_copy_constructible_v</span></span></a><span class="sy1"><</span>TimeZonePtr<span class="sy1">></span></span></span> 为 false 则定义默认化的复制构造函数 <span class="t-v">(3)</span> 为被删除。</div>
|
|
<div class="t-li1"><span class="t-li">c)</span> 若 <span class="t-c"><span class="mw-geshi cpp source-cpp">traits<span class="sy4">::</span><span class="me2">locate_zone</span><span class="br0">(</span>name<span class="br0">)</span></span></span> 非良式或若该表达式不可转换成 <code>TimeZonePtr</code> ,则带 <span class="t-lc"><a href="cpp-string-basic_string_view.html">std::string_view</a></span> 参数 <code>name</code> 的构造函数 <span class="t-v">(6,8,10,12,15-16)</span> 不参与重载决议。</div>
|
|
<div class="t-li1"><span class="t-li">d)</span> 若 <span class="t-c"><span class="mw-geshi cpp source-cpp">zone<span class="sy2">-</span><span class="sy1">></span>to_sys</span></span> 非良式或其结果不可转换成 <span class="t-c"><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">chrono</span><span class="sy4">::</span><span class="me2">sys_time</span><span class="sy1"><</span>duration<span class="sy1">></span></span></span> ,则指定来调用该调用表达式的构造函数 <span class="t-v">(9-12)</span> 不参与重载决议。</div>
|
|
<div class="t-li1"><span class="t-li">e)</span> 若 <code>Duration2</code> 不可转换成 <code>Duration</code> ,则带模板形参 <code>Duration2</code> 的构造函数 <span class="t-v">(4,13-16)</span> 不参与重载决议。</div>
|
|
<p>若(按上述方式初始化的)时区指针不指代合法时区,则行为未定义。</p>
|
|
<h3><span class="mw-headline" id=".E6.B3.A8.E8.A7.A3">注解</span></h3>
|
|
<p><code>zoned_time</code> 无移动构造函数,而移动它的尝试将替而用默认化的复制构造函数 <span class="t-v">(3)</span> 进行复制。从而当 <code>TimeZonePtr</code> 是仅移动的类型时, <code>zoned_time</code> 不可移动:既不能复制亦不能移动它。</p>
|
|
<p>构造函数 <span class="t-v">(14,16)</span> 接受 <span class="t-lc">std::chrono::choose</span> 参数,但该参数无效果。</p>
|
|
</div>
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|