506 lines
32 KiB
HTML
506 lines
32 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::put_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_io_manip_put_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::</span>put_time</h1>
|
|
<div id="bodyContent">
|
|
<div id="contentSub"><span class="subpages">< <a href="cpp.html">cpp</a>‎ | <a href="cpp-io.html">io</a>‎ | <a href="cpp-io-manip.html">manip</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-iomanip.html"><iomanip></a></code></div>
|
|
</td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="t-dcl t-since-cxx11">
|
|
<td>
|
|
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">template</span><span class="sy1"><</span> <span class="kw1">class</span> CharT <span class="sy1">></span><br />
|
|
<span class="coMULTI">/*unspecified*/</span> put_time<span class="br0">(</span> <span class="kw4">const</span> <a href="cpp-chrono-c-tm.html"><span class="kw1023">std::<span class="me2">tm</span></span></a><span class="sy2">*</span> tmb, <span class="kw4">const</span> CharT<span class="sy2">*</span> fmt <span class="br0">)</span><span class="sy4">;</span></span></div>
|
|
</td>
|
|
<td class="t-dcl-nopad"></td>
|
|
<td><span class="t-mark-rev t-since-cxx11">(C++11 起)</span></td>
|
|
</tr>
|
|
<tr class="t-dcl-sep">
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>用于表达式 <span class="t-c"><span class="mw-geshi cpp source-cpp">out <span class="sy1"><<</span> put_time<span class="br0">(</span>tmb, fmt<span class="br0">)</span></span></span> 时,按照格式字符串 <code>fmt</code> ,按照输出流 <code>out</code> 中当前感染的 locale 的 <span class="t-lc"><a href="cpp-locale-time_put.html">std::time_put</a></span> 平面,转换来自给定的日历时间 <code>tmb</code> 的日期和时间信息为字符串,如同通过调用 <span class="t-lc"><a href="cpp-chrono-c-strftime.html">std::strftime</a></span> 、 <span class="t-lc"><a href="cpp-chrono-c-wcsftime.html">std::wcsftime</a></span> 或模拟(取决于 <code>CharT</code> )。</p>
|
|
<h3><span class="mw-headline" id=".E5.8F.82.E6.95.B0">参数</span></h3>
|
|
<table class="t-par-begin">
|
|
<tr class="t-par">
|
|
<td>tmb</td>
|
|
<td>-</td>
|
|
<td>指向从 localtime() 或 gmtime() 获得的日历时间结构体的指针</td>
|
|
</tr>
|
|
<tr class="t-par">
|
|
<td>fmt</td>
|
|
<td>-</td>
|
|
<td>指向指定转换格式的空终止 CharT 串的指针。
|
|
<p>格式字符串由零或更多个说明符和通常字符(除 <code>%</code> )构成。所有通常字符,包括空终止字符,都会被复制到输出字符串而不加修改。每个转换说明符都始于 <code>%</code> 字符,可选地跟随 <code>E</code> 或 <code>O</code> 修饰符(若本地环境不支持则忽略),后随决定修饰符行为的字符。下列修饰符格式可用:</p>
|
|
<table class="wikitable" style="font-size:85%; max-width:90em;">
|
|
<tr>
|
|
<th>转换<br />
|
|
说明符</th>
|
|
<th>解释</th>
|
|
<th>使用的域</th>
|
|
</tr>
|
|
<tr>
|
|
<th><code>%</code></th>
|
|
<td>写字面的 <code>%</code> 。完整转换说明必须是 <code>%%</code> 。</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>n</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>写换行符</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>t</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>写水平制表符</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan="3">年</th>
|
|
</tr>
|
|
<tr>
|
|
<th><code>Y</code></th>
|
|
<td>以 4 位十进制数写<b>年</b>。</td>
|
|
<td><code><b>tm_year</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>EY</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以替用方式写<b>年</b>。例如在 ja_JP 本地环境中,以“平成23年”取代“2011年”。</td>
|
|
<td><code><b>tm_year</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>y</code></th>
|
|
<td>写<b>年</b>的末 2 位十进制数(范围<code>[00,99]</code>)。</td>
|
|
<td><code><b>tm_year</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>Oy</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以替用数字系统写<b>年</b>的末 2 位数字。例如在 ja_JP 本地环境中以“十一”取代“11”。</td>
|
|
<td><code><b>tm_year</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>Ey</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>将<b>年</b>写作从本地环境的替用时期 <code>%EC</code> 的偏移(本地环境依赖)。</td>
|
|
<td><code><b>tm_year</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>C</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>写<b>年</b>的首 2 位十进制数(范围 <code>[00,99]</code> )。</td>
|
|
<td><code><b>tm_year</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>EC</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以本地环境的替用表示写<b>年份基底(时期)</b>,例如 ja_JP 中的“平成”。</td>
|
|
<td><code><b>tm_year</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>G</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>写<b>基于 ISO 8601 的年</b>,即是包含指定星期的年份。
|
|
<p>IS0 8601 中星期以星期一开始,而且一年的首星期必须满足下列要求:</p>
|
|
<ul>
|
|
<li>包含 1 月 4 日</li>
|
|
<li>包含一年的首个星期四</li>
|
|
</ul>
|
|
</td>
|
|
<td><code><b>tm_year</b></code>, <code><b>tm_wday</b></code>, <code><b>tm_yday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>g</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>写<b>基于 ISO 8601 的年</b>,即是包含指定星期年份,的后 2 位数(范围 <code>[00,99]</code> )。
|
|
<p>IS0 8601 中星期以星期一开始,而且一年的首星期必须满足下列要求:</p>
|
|
<ul>
|
|
<li>包含 1 月 4 日</li>
|
|
<li>包含一年的首个星期四</li>
|
|
</ul>
|
|
</td>
|
|
<td><code><b>tm_year</b></code>, <code><b>tm_wday</b></code>, <code><b>tm_yday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan="3">月</th>
|
|
</tr>
|
|
<tr>
|
|
<th><code>b</code></th>
|
|
<td>写<b>缩略月</b>名,例如 <code>Oct</code> (本地环境依赖)。</td>
|
|
<td><code><b>tm_mon</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>h</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>与 <code>b</code> 同意。</td>
|
|
<td><code><b>tm_mon</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>B</code></th>
|
|
<td>写<b>完整月</b>名,例如 <code>October</code> (本地环境依赖)。</td>
|
|
<td><code><b>tm_mon</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>m</code></th>
|
|
<td>将<b>月</b>写作十进制数(范围 <code>[01,12]</code> )。</td>
|
|
<td><code><b>tm_mon</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>Om</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以替用数字系统写<b>月</b>。例如 ja_JP 本地环境中“十二”取代“12”。</td>
|
|
<td><code><b>tm_mon</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan="3">星期</th>
|
|
</tr>
|
|
<tr>
|
|
<th><code>U</code></th>
|
|
<td>以十进制数写<b>年的星期</b>(星期日是星期的首日)(范围 <code>[00,53]</code> )。</td>
|
|
<td><code><b>tm_year</b></code>, <code><b>tm_wday</b></code>, <code><b>tm_yday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>OU</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以替用数值系统写如同用 <code>%U</code> 的<b>年的星期</b>。例如“五十二”在 ja_JP 本地环境中取代“52”。</td>
|
|
<td><code><b>tm_year</b></code>, <code><b>tm_wday</b></code>, <code><b>tm_yday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>W</code></th>
|
|
<td>以十进制数写<b>年的星期</b>(星期一是星期的首日)(范围 <code>[00,53]</code> )。</td>
|
|
<td><code><b>tm_year</b></code>, <code><b>tm_wday</b></code>, <code><b>tm_yday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>OW</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以替用数值系统写如同用 <code>%W</code> 的<b>年的第星期</b>。例如“五十二”在 ja_JP 本地环境中取代“52”。</td>
|
|
<td><code><b>tm_year</b></code>, <code><b>tm_wday</b></code>, <code><b>tm_yday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>V</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>写 <b>ISO 8601 的年的星期</b>(范围<code>[00,53]</code>)。
|
|
<p>IS0 8601 中星期以星期一开始,而且一年的首星期必须满足下列要求:</p>
|
|
<ul>
|
|
<li>包含 1 月 4 日</li>
|
|
<li>包含一年的首个星期四</li>
|
|
</ul>
|
|
</td>
|
|
<td><code><b>tm_year</b></code>, <code><b>tm_wday</b></code>, <code><b>tm_yday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>OV</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以替用数值系统写如同用 <code>%V</code> 的<b>年的星期</b>。例如“五十二”在 ja_JP 本地环境中取代“52”。</td>
|
|
<td><code><b>tm_year</b></code>, <code><b>tm_wday</b></code>, <code><b>tm_yday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan="3">年/月之日</th>
|
|
</tr>
|
|
<tr>
|
|
<th><code>j</code></th>
|
|
<td>以十进制数写<b>年的第几日</b>(范围 <code>[001,366]</code> )。</td>
|
|
<td><code><b>tm_yday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>d</code></th>
|
|
<td>以十进制数写<b>月的第几日</b>(范围 <code>[01,31]</code> )。</td>
|
|
<td><code><b>tm_mday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>Od</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以替用数字系统写零基的<b>月的第几日</b>。例如 ja_JP 本地环境中“二十七”取代“ 27 ”。
|
|
<p>单字符前加空格。</p>
|
|
</td>
|
|
<td><code><b>tm_mday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>e</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以十进制数写<b>月的第几日</b>(范围<code>[01,31]</code>)。
|
|
<p>单数字前加空格。</p>
|
|
</td>
|
|
<td><code><b>tm_mday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>Oe</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以替用数字系统写一基的<b>月的第几日</b>。例如 ja_JP 本地环境中“二十七”取代“27”。
|
|
<p>单字符前加空格。</p>
|
|
</td>
|
|
<td><code><b>tm_mday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan="3">星期之日</th>
|
|
</tr>
|
|
<tr>
|
|
<th><code>a</code></th>
|
|
<td>写<b>缩略的星期日期</b>名,例如 <code>Fri</code> (本地环境依赖)。</td>
|
|
<td><code><b>tm_wday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>A</code></th>
|
|
<td>写<b>完整的星期日期</b>名,例如 <code>Friday</code> (本地环境依赖)。</td>
|
|
<td><code><b>tm_wday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>w</code></th>
|
|
<td>以十进制数写<b>星期日期</b>,其中星期日是 <code>0</code> (范围 <code>[0-6]</code> )。</td>
|
|
<td><code><b>tm_wday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>Ow</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>用替用数字系统写<b>星期日期</b>,其中星期日是 <code>0</code> 。例如 ja_JP 本地环境中“二”取代“2”。</td>
|
|
<td><code><b>tm_wday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>u</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>十进制数写<b>星期日期</b>,其中星期一是 <code>1</code> ( ISO 8601 格式)(范围 <code>[1-7]</code> )。</td>
|
|
<td><code><b>tm_wday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>Ou</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>用替用数字系统写<b>星期日期</b>,其中星期一是 <code>1</code> 。例如 ja_JP 本地环境中“二”取代“2”。</td>
|
|
<td><code><b>tm_wday</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan="3">时、分、秒</th>
|
|
</tr>
|
|
<tr>
|
|
<th><code>H</code></th>
|
|
<td>以十进制数写<b>时</b>, 24 小时制(范围 <code>[00-23]</code> )。</td>
|
|
<td><code><b>tm_hour</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>OH</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以替用数字系统写 24 小时制的<b>时</b>。例如 ja_JP 本地环境中“十八”取代“18”。</td>
|
|
<td><code><b>tm_hour</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>I</code></th>
|
|
<td>以十进制数写<b>时</b>, 12 小时制(范围 <code>[01,12]</code> )。</td>
|
|
<td><code><b>tm_hour</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>OI</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以替用数字系统写 12 小时制的<b>时</b>。例如 ja_JP 本地环境中“六”取代“6”。</td>
|
|
<td><code><b>tm_hour</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>M</code></th>
|
|
<td>以十进制数写<b>分</b>(范围 <code>[00,59]</code> )。</td>
|
|
<td><code><b>tm_min</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>OM</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以替用数字系统写<b>分</b>。例如 ja_JP 本地环境中“二十五”取代“25”。</td>
|
|
<td><code><b>tm_min</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>S</code></th>
|
|
<td>以十进制数写<b>秒</b>(范围 <code>[00,60]</code> )。</td>
|
|
<td><code><b>tm_sec</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>OS</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以替用数字系统写<b>秒</b>。例如 ja_JP 本地环境中“二十四”取代“24”。</td>
|
|
<td><code><b>tm_sec</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan="3">其他</th>
|
|
</tr>
|
|
<tr>
|
|
<th><code>c</code></th>
|
|
<td>写<b>标准日期时间字符串</b>。例如 <code>Sun Oct 17 04:41:13 2010</code> (本地环境依赖)。</td>
|
|
<td>全部</td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>Ec</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>写<b>替用日期时间字符串</b>。例如 ja_JP 本地环境中“平成23年”取代“2011年”。</td>
|
|
<td>全部</td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>x</code></th>
|
|
<td>写本地化的<b>日期表示</b>(本地环境依赖)。</td>
|
|
<td>全部</td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>Ex</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>写<b>替用日期表示</b>。例如 ja_JP 本地环境中“平成23年”取代“2011年”。</td>
|
|
<td>全部</td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>X</code></th>
|
|
<td>写本地化的<b>时间表示</b>,例如 18:40:20 或 6:40:20 PM (本地环境依赖)。</td>
|
|
<td>全部</td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>EX</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>写<b>替用时间表示</b>(本地环境依赖)。</td>
|
|
<td>全部</td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>D</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>等价于<b>"%m/%d/%y"</b>。</td>
|
|
<td><code><b>tm_mon</b></code>, <code><b>tm_mday</b></code>, <code><b>tm_year</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>F</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>等价于<b>"%Y-%m-%d"</b>( ISO 8601 日期格式)。</td>
|
|
<td><code><b>tm_mon</b></code>, <code><b>tm_mday</b></code>, <code><b>tm_year</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>r</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>写本地化的 <b>12 小时制</b>时间(本地环境依赖)。</td>
|
|
<td><code><b>tm_hour</b></code>, <code><b>tm_min</b></code>, <code><b>tm_sec</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>R</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>等价于<b>"%H:%M"</b>。</td>
|
|
<td><code><b>tm_hour</b></code>, <code><b>tm_min</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>T</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>等价于<b>"%H:%M:%S"</b>( ISO 8601 时间格式)。</td>
|
|
<td><code><b>tm_hour</b></code>, <code><b>tm_min</b></code>, <code><b>tm_sec</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>p</code></th>
|
|
<td>写本地化的 <b>a.m.</b> 或 <b>p.m.</b> (本地环境依赖)。</td>
|
|
<td><code><b>tm_hour</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>z</code><br />
|
|
<span class="t-mark-rev t-since-cxx11">(C++11)</span></th>
|
|
<td>以 ISO 8601 格式(例如 <code>-0430</code> )写<b>距 UTC 的偏移</b>,或者倘若时区信息不可用则不写字符。</td>
|
|
<td><code><b>tm_isdst</b></code></td>
|
|
</tr>
|
|
<tr>
|
|
<th><code>Z</code></th>
|
|
<td>写依赖本地环境的<b>时区名或缩写</b>,或者若时区信息不可用则不写字符。</td>
|
|
<td><code><b>tm_isdst</b></code></td>
|
|
</tr>
|
|
</table>
|
|
<p><br /></p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<h3><span class="mw-headline" id=".E8.BF.94.E5.9B.9E.E5.80.BC">返回值</span></h3>
|
|
<p>返回为指定类型的对象,使得若 <code>out</code> 为 <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-io-basic_ostream.html"><span class="kw1715">std::<span class="me2">basic_ostream</span></span></a><span class="sy1"><</span>CharT, Traits<span class="sy1">></span></span></span> 类型输出流的名称,则表达式 <span class="t-c"><span class="mw-geshi cpp source-cpp">out <span class="sy1"><<</span> put_time<span class="br0">(</span>tmb, fmt<span class="br0">)</span></span></span> 表现为如同执行下列代码:</p>
|
|
<p><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">typedef</span> <a href="cpp-iterator-ostreambuf_iterator.html"><span class="kw671">std::<span class="me2">ostreambuf_iterator</span></span></a><span class="sy1"><</span>CharT, Traits<span class="sy1">></span> Iter<span class="sy4">;</span><br />
|
|
<span class="kw1">typedef</span> <a href="cpp-locale-time_put.html"><span class="kw1951">std::<span class="me2">time_put</span></span></a><span class="sy1"><</span>CharT, Iter<span class="sy1">></span> TimePut<span class="sy4">;</span><br />
|
|
<span class="kw4">const</span> TimePut<span class="sy3">&</span> tp <span class="sy1">=</span> <a href="cpp-locale-use_facet.html"><span class="kw1896">std::<span class="me2">use_facet</span></span></a><span class="sy1"><</span>TimePut<span class="sy1">></span><span class="br0">(</span>out.<span class="me1">getloc</span><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span><br />
|
|
<span class="kw4">const</span> Iter end <span class="sy1">=</span> tp.<span class="me1">put</span><span class="br0">(</span>Iter<span class="br0">(</span>out.<span class="me1">rdbuf</span><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span>, out, out.<span class="me1">fill</span><span class="br0">(</span><span class="br0">)</span>, tmb, fmt, fmt <span class="sy2">+</span> Traits<span class="sy4">::</span><span class="me2">length</span><span class="br0">(</span>fmt<span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span><br />
|
|
<span class="kw1">if</span> <span class="br0">(</span>end.<span class="me1">failed</span><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span><br />
|
|
out.<span class="me1">setstate</span><span class="br0">(</span><a href="cpp-io-ios_base-iostate.html"><span class="kw1699">std::<span class="me2">ios_base</span><span class="sy4">::</span><span class="me2">badbit</span></span></a><span class="br0">)</span><span class="sy4">;</span></span></span></p>
|
|
<p><br /></p>
|
|
<h3><span class="mw-headline" id=".E7.A4.BA.E4.BE.8B">示例</span></h3>
|
|
<div class="t-example">
|
|
<div class="t-example-live-link"></div>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="cpp source-cpp">
|
|
<pre class="de1"><span class="co2">#include <iostream></span>
|
|
<span class="co2">#include <iomanip></span>
|
|
<span class="co2">#include <ctime></span>
|
|
|
|
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span>
|
|
<span class="br0">{</span>
|
|
<a href="cpp-chrono-c-time_t.html"><span class="kw1024">std::<span class="me2">time_t</span></span></a> t <span class="sy1">=</span> <a href="cpp-chrono-c-time.html"><span class="kw1011">std::<span class="me2">time</span></span></a><span class="br0">(</span>nullptr<span class="br0">)</span><span class="sy4">;</span>
|
|
<a href="cpp-chrono-c-tm.html"><span class="kw1023">std::<span class="me2">tm</span></span></a> tm <span class="sy1">=</span> <span class="sy2">*</span><a href="cpp-chrono-c-localtime.html"><span class="kw1020">std::<span class="me2">localtime</span></span></a><span class="br0">(</span><span class="sy3">&</span>t<span class="br0">)</span><span class="sy4">;</span>
|
|
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a>.<span class="me1">imbue</span><span class="br0">(</span><a href="cpp-locale-locale.html"><span class="kw1893">std::<span class="me2">locale</span></span></a><span class="br0">(</span><span class="st0">"ru_RU.utf8"</span><span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span>
|
|
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1"><<</span> <span class="st0">"ru_RU: "</span> <span class="sy1"><<</span> std<span class="sy4">::</span><span class="me2">put_time</span><span class="br0">(</span><span class="sy3">&</span>tm, <span class="st0">"%c %Z"</span><span class="br0">)</span> <span class="sy1"><<</span> <span class="st0">'<span class="es1">\n</span>'</span><span class="sy4">;</span>
|
|
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a>.<span class="me1">imbue</span><span class="br0">(</span><a href="cpp-locale-locale.html"><span class="kw1893">std::<span class="me2">locale</span></span></a><span class="br0">(</span><span class="st0">"ja_JP.utf8"</span><span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span>
|
|
<a href="cpp-io-cout.html"><span class="kw1758">std::<span class="me2">cout</span></span></a> <span class="sy1"><<</span> <span class="st0">"ja_JP: "</span> <span class="sy1"><<</span> std<span class="sy4">::</span><span class="me2">put_time</span><span class="br0">(</span><span class="sy3">&</span>tm, <span class="st0">"%c %Z"</span><span class="br0">)</span> <span class="sy1"><<</span> <span class="st0">'<span class="es1">\n</span>'</span><span class="sy4">;</span>
|
|
<span class="br0">}</span></pre></div>
|
|
</div>
|
|
<p>输出:</p>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="text source-text">
|
|
<pre class="de1">ru_RU: Ср. 28 дек. 2011 10:21:16 EST
|
|
ja_JP: 2011年12月28日 10時21分16秒 EST</pre></div>
|
|
</div>
|
|
</div>
|
|
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">参阅</span></h3>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-locale-time_put.html"><span class="t-lines"><span>time_put</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>格式化 <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-chrono-c-tm.html"><span class="kw1023">std::<span class="me2">tm</span></span></a></span></span> 内容为字符序列以输出<br />
|
|
<span class="t-mark">(类模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-io-manip-get_time.html"><span class="t-lines"><span>get_time</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>剖析指定格式的日期/时间值<br />
|
|
<span class="t-mark">(函数模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-chrono-c-strftime.html"><span class="t-lines"><span>strftime</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>转换 <code>tm</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-c-wcsftime.html"><span class="t-lines"><span>wcsftime</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>转换 <code>tm</code> 对象为定制的宽字符串文本表示<br />
|
|
<span class="t-mark">(函数)</span></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|