1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
"../../../tools/boostbook/dtd/boostbook.dtd">
<!-- Copyright (c) 2005 CrystalClear Software, Inc.
Subject to the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-->
<section id="date_time.time_facet">
<title>Time Facet</title>
<link linkend="time_facet_intro">Introduction</link> -
<link linkend="time_facet_constr">Construction</link> -
<link linkend="time_facet_accessors">Accessors</link>
<anchor id="time_facet_intro" />
<bridgehead renderas="sect3">Introduction</bridgehead>
<para>The <code>boost::date_time::time_facet</code> is an extension of the <code>boost::date_time::date_facet</code>. The time_facet is typedef'ed in the <code>posix_time</code> namespace as <code>time_facet</code> and <code>wtime_facet</code>. It is typedef'd in the <code>local_time</code> namespace as <code>local_time_facet</code> and <code>wlocal_time_facet</code>.
</para>
<anchor id="time_facet_constr" />
<bridgehead renderas="sect3">Construction</bridgehead>
<para>
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row>
<entry>Syntax</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry valign="top"><screen>time_facet()</screen></entry>
<entry>Default constructor</entry>
</row>
<row>
<entry valign="top"><screen>time_facet(...)
Parameters:
char_type* format
period_formatter_type
special_values_formatter_type
date_gen_formatter_type</screen></entry>
<entry>Format given will be used for time output. The remaining parameters are formatter objects. Further details on these objects can be found <link linkend="date_time.io_objects">here</link>. This constructor also provides default arguments for all parameters except the format. Therefore, <code>time_facet("%H:%M:S %m %d %Y")</code> will work.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
<anchor id="time_facet_accessors" />
<bridgehead renderas="sect3">Accessors</bridgehead>
<para>
The time_facet inherits all the public date_facet methods. Therefore, the date_facet methods are not listed here. Instead, they can be found by following <link linkend="date_time.date_facet">this</link> link.
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row>
<entry valign="top" morerows="1">Syntax</entry>
<entry>Description</entry>
</row>
<row>
<entry>Example</entry>
</row>
</thead>
<tbody>
<row>
<entry valign="top" morerows="1"><screen>void time_duration_format(...)
Parameter:
char_type*</screen></entry>
<entry>Sets the time_duration format. The time_duration format has the ability to display the sign of the duration. The <code>'%+'</code> flag will always display the sign. The <code>'%-'</code> will only display if the sign is negative. Currently the '-' and '+' characters are used to denote the sign.</entry>
</row>
<row>
<entry><screen>f->time_duration_format("%+%H:%M");
// hours and minutes only w/ sign always displayed
time_duration td1(3, 15, 56);
time_duration td2(-12, 25, 32);
ss << td1; // "+03:15:56"
ss << td2; // "-12:25:56"
</screen></entry>
</row>
<row>
<entry valign="top" morerows="1"><screen>void set_iso_format()</screen></entry>
<entry>Sets the date and time format to ISO.</entry>
</row>
<row>
<entry><screen>f->set_iso_format();
// "%Y%m%dT%H%M%S%F%q"</screen></entry>
</row>
<row>
<entry valign="top" morerows="1"><screen>void set_iso_extended_format()</screen></entry>
<entry>Sets the date and time format to ISO Extended</entry>
</row>
<row>
<entry><screen>f->set_iso_extended_format();
// "%Y-%m-%d %H:%M:%S%F%Q"</screen></entry>
</row>
<row>
<entry valign="top" morerows="1"><screen>OutItrT put(...)
Common parameters for all
'put' functions:
OutItrT
ios_base
char_type
Unique parameter for 'put' funcs:
posix_time object</screen></entry>
<entry>There are 3 put functions in the time_facet. The common parameters are: an iterator pointing to the next item in the stream, an ios_base object, and the fill character. Each unique posix_time object has it's own put function. Each unique put function is described below.</entry>
</row>
<row>
<entry><screen></screen></entry>
</row>
<row>
<entry valign="top" morerows="1"><screen>OutItrT put(..., ptime)</screen></entry>
<entry>Puts a ptime object into the stream using the format set by <code>format(...)</code> or the default.</entry>
</row>
<row>
<entry><screen></screen></entry>
</row>
<row>
<entry valign="top" morerows="1"><screen>OutItrT put(..., time_duration)</screen></entry>
<entry>Puts a time_duration object into the stream using the format set by <code>time_duration_format(...)</code> or the default.</entry>
</row>
<row>
<entry><screen></screen></entry>
</row>
<row>
<entry valign="top" morerows="1"><screen>OutItrT put(..., time_period)</screen></entry>
<entry>Puts a time_period into the stream. The format of the dates and times will use the format set by <code>format(..)</code> or the default date/time format. The type of period (open or closed range) and the delimiters used are those used by the period_formatter.</entry>
</row>
<row>
<entry><screen></screen></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</section>
|