1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <!DOCTYPE library PUBLIC
"-//Boost//DTD BoostBook XML V1.0//EN"
3 "../../../tools/boostbook/dtd/boostbook.dtd">
5 <!-- Copyright (c) 2005 CrystalClear Software, Inc.
6 Subject to the Boost Software License, Version 1.0.
7 (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
10 <section id=
"date_time.time_facet">
11 <title>Time Facet
</title>
13 <link linkend=
"time_facet_intro">Introduction
</link> -
14 <link linkend=
"time_facet_constr">Construction
</link> -
15 <link linkend=
"time_facet_accessors">Accessors
</link>
17 <anchor id=
"time_facet_intro" />
18 <bridgehead renderas=
"sect3">Introduction
</bridgehead>
19 <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>.
22 <anchor id=
"time_facet_constr" />
23 <bridgehead renderas=
"sect3">Construction
</bridgehead>
25 <informaltable frame=
"all">
30 <entry>Description
</entry>
35 <entry valign=
"top"><screen>time_facet()
</screen></entry>
36 <entry>Default constructor
</entry>
39 <entry valign=
"top"><screen>time_facet(...)
43 special_values_formatter_type
44 date_gen_formatter_type
</screen></entry>
45 <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>
52 <anchor id=
"time_facet_accessors" />
53 <bridgehead renderas=
"sect3">Accessors
</bridgehead>
55 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.
56 <informaltable frame=
"all">
60 <entry valign=
"top" morerows=
"1">Syntax
</entry>
61 <entry>Description
</entry>
64 <entry>Example
</entry>
69 <entry valign=
"top" morerows=
"1"><screen>void time_duration_format(...)
71 char_type*
</screen></entry>
72 <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>
75 <entry><screen>f-
>time_duration_format(
"%+%H:%M");
76 // hours and minutes only w/ sign always displayed
77 time_duration td1(
3,
15,
56);
78 time_duration td2(-
12,
25,
32);
79 ss
<< td1; //
"+03:15:56"
80 ss
<< td2; //
"-12:25:56"
85 <entry valign=
"top" morerows=
"1"><screen>void set_iso_format()
</screen></entry>
86 <entry>Sets the date and time format to ISO.
</entry>
89 <entry><screen>f-
>set_iso_format();
90 //
"%Y%m%dT%H%M%S%F%q"</screen></entry>
94 <entry valign=
"top" morerows=
"1"><screen>void set_iso_extended_format()
</screen></entry>
95 <entry>Sets the date and time format to ISO Extended
</entry>
98 <entry><screen>f-
>set_iso_extended_format();
99 //
"%Y-%m-%d %H:%M:%S%F%Q"</screen></entry>
103 <entry valign=
"top" morerows=
"1"><screen>OutItrT put(...)
104 Common parameters for all
109 Unique parameter for 'put' funcs:
110 posix_time object
</screen></entry>
111 <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>
114 <entry><screen></screen></entry>
118 <entry valign=
"top" morerows=
"1"><screen>OutItrT put(..., ptime)
</screen></entry>
119 <entry>Puts a ptime object into the stream using the format set by
<code>format(...)
</code> or the default.
</entry>
122 <entry><screen></screen></entry>
126 <entry valign=
"top" morerows=
"1"><screen>OutItrT put(..., time_duration)
</screen></entry>
127 <entry>Puts a time_duration object into the stream using the format set by
<code>time_duration_format(...)
</code> or the default.
</entry>
130 <entry><screen></screen></entry>
134 <entry valign=
"top" morerows=
"1"><screen>OutItrT put(..., time_period)
</screen></entry>
135 <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>
138 <entry><screen></screen></entry>