Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/doc/html/format_date_parser.html @ 25

Last change on this file since 25 was 12, checked in by landauf, 17 years ago

added boost

File size: 18.9 KB
Line 
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
4<title>Class template format_date_parser</title>
5<link rel="stylesheet" href="boostbook.css" type="text/css">
6<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
7<link rel="start" href="index.html" title="The Boost C++ Libraries">
8<link rel="up" href="date_time/doxy.html#id2400160" title="Header &lt;boost/date_time/format_date_parser.hpp&gt;">
9<link rel="prev" href="time_from_ftime.html" title="Function template time_from_ftime">
10<link rel="next" href="fixed_string_to_int.html" title="Function template fixed_string_to_int">
11</head>
12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13<table cellpadding="2" width="100%">
14<td valign="top"><img alt="boost.png (6897 bytes)" width="277" height="86" src="../../boost.png"></td>
15<td align="center"><a href="../../index.htm">Home</a></td>
16<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
17<td align="center"><a href="../../people/people.htm">People</a></td>
18<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
19<td align="center"><a href="../../more/index.htm">More</a></td>
20</table>
21<hr>
22<div class="spirit-nav">
23<a accesskey="p" href="time_from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2400160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="fixed_string_to_int.html"><img src="images/next.png" alt="Next"></a>
24</div>
25<div class="refentry" lang="en">
26<a name="format_date_parser"></a><div class="titlepage"></div>
27<div class="refnamediv">
28<h2><span class="refentrytitle">Class template format_date_parser</span></h2>
29<p>boost::date_time::format_date_parser &#8212; Class with generic date parsing using a format string. </p>
30</div>
31<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
32<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> date_type, <span class="bold"><strong>typename</strong></span> charT&gt; 
33<span class="bold"><strong>class</strong></span> format_date_parser {
34<span class="bold"><strong>public</strong></span>:
35  <span class="emphasis"><em>// types</em></span>
36  <span class="bold"><strong>typedef</strong></span> std::basic_string&lt; charT &gt;                string_type;          
37  <span class="bold"><strong>typedef</strong></span> std::basic_stringstream&lt; charT &gt;          stringstream_type;    
38  <span class="bold"><strong>typedef</strong></span> std::istreambuf_iterator&lt; charT &gt;         stream_itr_type;      
39  <span class="bold"><strong>typedef</strong></span> string_type::const_iterator               const_itr;            
40  <span class="bold"><strong>typedef</strong></span> date_type::year_type                      year_type;            
41  <span class="bold"><strong>typedef</strong></span> date_type::month_type                     month_type;           
42  <span class="bold"><strong>typedef</strong></span> date_type::day_type                       day_type;             
43  <span class="bold"><strong>typedef</strong></span> date_type::duration_type                  duration_type;        
44  <span class="bold"><strong>typedef</strong></span> date_type::day_of_week_type               day_of_week_type;     
45  <span class="bold"><strong>typedef</strong></span> date_type::day_of_year_type               day_of_year_type;     
46  <span class="bold"><strong>typedef</strong></span> <a href="string_parse_tree.html" title="Struct template string_parse_tree">string_parse_tree</a>&lt; charT &gt;                parse_tree_type;      
47  <span class="bold"><strong>typedef</strong></span> parse_tree_type::parse_match_result_type  match_results;        
48  <span class="bold"><strong>typedef</strong></span> std::vector&lt; std::basic_string&lt; charT &gt; &gt; input_collection_type;
49
50  <span class="emphasis"><em>// <a href="format_date_parser.html#format_date_parserconstruct-copy-destruct">construct/copy/destruct</a></em></span>
51  <a href="format_date_parser.html#id2507706-bb">format_date_parser</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> input_collection_type &amp;,
52                     <span class="bold"><strong>const</strong></span> input_collection_type &amp;,
53                     <span class="bold"><strong>const</strong></span> input_collection_type &amp;,
54                     <span class="bold"><strong>const</strong></span> input_collection_type &amp;);
55  <a href="format_date_parser.html#id2467385-bb">format_date_parser</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> std::locale &amp;);
56  <a href="format_date_parser.html#id2517547-bb">format_date_parser</a>(<span class="bold"><strong>const</strong></span> <a href="format_date_parser.html" title="Class template format_date_parser">format_date_parser</a>&lt; date_type, charT &gt; &amp;);
57
58  <span class="emphasis"><em>// <a href="format_date_parser.html#id2403096-bb">public member functions</a></em></span>
59  <span class="type">string_type</span> <a href="format_date_parser.html#id2403101-bb">format</a>() <span class="bold"><strong>const</strong></span>;
60  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="format_date_parser.html#id2395288-bb">format</a>(string_type) ;
61  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="format_date_parser.html#id2457121-bb">short_month_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
62  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="format_date_parser.html#id2511711-bb">long_month_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
63  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="format_date_parser.html#id2412980-bb">short_weekday_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
64  <span class="type"><span class="bold"><strong>void</strong></span></span> <a href="format_date_parser.html#id2452167-bb">long_weekday_names</a>(<span class="bold"><strong>const</strong></span> input_collection_type &amp;) ;
65  <span class="type">date_type</span> <a href="format_date_parser.html#id2467484-bb">parse_date</a>(<span class="bold"><strong>const</strong></span> string_type &amp;, <span class="bold"><strong>const</strong></span> string_type &amp;,
66                       <span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp;) <span class="bold"><strong>const</strong></span>;
67  <span class="type">date_type</span> <a href="format_date_parser.html#id2509809-bb">parse_date</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
68                       std::istreambuf_iterator&lt; charT &gt; &amp;,
69                       <span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp;) <span class="bold"><strong>const</strong></span>;
70  <span class="type">date_type</span> <a href="format_date_parser.html#id2397783-bb">parse_date</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
71                       std::istreambuf_iterator&lt; charT &gt; &amp;, string_type,
72                       <span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp;) <span class="bold"><strong>const</strong></span>;
73  <span class="type">month_type</span> <a href="format_date_parser.html#id2526045-bb">parse_month</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
74                         std::istreambuf_iterator&lt; charT &gt; &amp;, string_type) <span class="bold"><strong>const</strong></span>;
75  <span class="type">month_type</span> <a href="format_date_parser.html#id2420245-bb">parse_month</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
76                         std::istreambuf_iterator&lt; charT &gt; &amp;, string_type,
77                         match_results &amp;) <span class="bold"><strong>const</strong></span>;
78  <span class="type">day_type</span> <a href="format_date_parser.html#id2516555-bb">parse_day_of_month</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
79                              std::istreambuf_iterator&lt; charT &gt; &amp;) <span class="bold"><strong>const</strong></span>;
80  <span class="type">day_of_week_type</span> 
81  <a href="format_date_parser.html#id2422160-bb">parse_weekday</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
82                std::istreambuf_iterator&lt; charT &gt; &amp;, string_type) <span class="bold"><strong>const</strong></span>;
83  <span class="type">day_of_week_type</span> 
84  <a href="format_date_parser.html#id2478555-bb">parse_weekday</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
85                std::istreambuf_iterator&lt; charT &gt; &amp;, string_type,
86                match_results &amp;) <span class="bold"><strong>const</strong></span>;
87  <span class="type">year_type</span> <a href="format_date_parser.html#id2392536-bb">parse_year</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
88                       std::istreambuf_iterator&lt; charT &gt; &amp;, string_type) <span class="bold"><strong>const</strong></span>;
89  <span class="type">year_type</span> <a href="format_date_parser.html#id2402260-bb">parse_year</a>(std::istreambuf_iterator&lt; charT &gt; &amp;,
90                       std::istreambuf_iterator&lt; charT &gt; &amp;, string_type,
91                       match_results &amp;) <span class="bold"><strong>const</strong></span>;
92};</pre></div>
93<div class="refsect1" lang="en">
94<a name="id2635064"></a><h2>Description</h2>
95<p>The following is the set of recognized format specifiers</p>
96<div class="itemizedlist"><ul type="disc">
97<li><p>a - Short weekday name</p></li>
98<li><p>A - Long weekday name</p></li>
99<li><p>b - Abbreviated month name</p></li>
100<li><p>B - Full month name</p></li>
101<li><p>d - Day of the month as decimal 01 to 31</p></li>
102<li><p>j - Day of year as decimal from 001 to 366</p></li>
103<li><p>m - Month name as a decimal 01 to 12</p></li>
104<li><p>U - Week number 00 to 53 with first Sunday as the first day of week 1?</p></li>
105<li><p>w - Weekday as decimal number 0 to 6 where Sunday == 0</p></li>
106<li><p>W - Week number 00 to 53 where Monday is first day of week 1</p></li>
107<li><p>x - facet default date representation</p></li>
108<li><p>y - Year without the century - eg: 04 for 2004</p></li>
109<li><p>Y - Year with century</p></li>
110</ul></div>
111<p>The weekday specifiers (a and A) do not add to the date construction, but they provide a way to skip over the weekday names for formats that provide them.</p>
112<p>todo -- Another interesting feature that this approach could provide is an option to fill in any missing fields with the current values from the clock. So if you have m-%d the parser would detect the missing year value and fill it in using the clock.</p>
113<p>todo -- What to do with the x. x in the classic facet is just bad... </p>
114<div class="refsect2" lang="en">
115<a name="id2635138"></a><h3>
116<a name="format_date_parserconstruct-copy-destruct"></a><code class="computeroutput">format_date_parser</code> construct/copy/destruct</h3>
117<div class="orderedlist"><ol type="1">
118<li><pre class="literallayout"><a name="id2507706-bb"></a>format_date_parser(<span class="bold"><strong>const</strong></span> string_type &amp; format,
119                   <span class="bold"><strong>const</strong></span> input_collection_type &amp; month_short_names,
120                   <span class="bold"><strong>const</strong></span> input_collection_type &amp; month_long_names,
121                   <span class="bold"><strong>const</strong></span> input_collection_type &amp; weekday_short_names,
122                   <span class="bold"><strong>const</strong></span> input_collection_type &amp; weekday_long_names);</pre></li>
123<li><pre class="literallayout"><a name="id2467385-bb"></a>format_date_parser(<span class="bold"><strong>const</strong></span> string_type &amp; format, <span class="bold"><strong>const</strong></span> std::locale &amp; locale);</pre></li>
124<li><pre class="literallayout"><a name="id2517547-bb"></a>format_date_parser(<span class="bold"><strong>const</strong></span> <a href="format_date_parser.html" title="Class template format_date_parser">format_date_parser</a>&lt; date_type, charT &gt; &amp; fdp);</pre></li>
125</ol></div>
126</div>
127<div class="refsect2" lang="en">
128<a name="id2635269"></a><h3>
129<a name="id2403096-bb"></a><code class="computeroutput">format_date_parser</code> public member functions</h3>
130<div class="orderedlist"><ol type="1">
131<li><pre class="literallayout"><span class="type">string_type</span> <a name="id2403101-bb"></a>format() <span class="bold"><strong>const</strong></span>;</pre></li>
132<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2395288-bb"></a>format(string_type format) ;</pre></li>
133<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2457121-bb"></a>short_month_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; month_names) ;</pre></li>
134<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2511711-bb"></a>long_month_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; month_names) ;</pre></li>
135<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2412980-bb"></a>short_weekday_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; weekday_names) ;</pre></li>
136<li><pre class="literallayout"><span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id2452167-bb"></a>long_weekday_names(<span class="bold"><strong>const</strong></span> input_collection_type &amp; weekday_names) ;</pre></li>
137<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2467484-bb"></a>parse_date(<span class="bold"><strong>const</strong></span> string_type &amp; value, <span class="bold"><strong>const</strong></span> string_type &amp; format,
138                     <span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp; sv_parser) <span class="bold"><strong>const</strong></span>;</pre></li>
139<li><pre class="literallayout"><span class="type">date_type</span> <a name="id2509809-bb"></a>parse_date(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
140                     std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
141                     <span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp; sv_parser) <span class="bold"><strong>const</strong></span>;</pre></li>
142<li>
143<pre class="literallayout"><span class="type">date_type</span> <a name="id2397783-bb"></a>parse_date(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
144                     std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
145                     string_type format,
146                     <span class="bold"><strong>const</strong></span> <a href="special_values_parser.html" title="Class template special_values_parser">special_values_parser</a>&lt; date_type, charT &gt; &amp; sv_parser) <span class="bold"><strong>const</strong></span>;</pre>
147<p>Of all the objects that the format_date_parser can parse, only a date can be a special value. Therefore, only parse_date checks for special_values. </p>
148</li>
149<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2526045-bb"></a>parse_month(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
150                       std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
151                       string_type format) <span class="bold"><strong>const</strong></span>;</pre></li>
152<li><pre class="literallayout"><span class="type">month_type</span> <a name="id2420245-bb"></a>parse_month(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
153                       std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
154                       string_type format, match_results &amp; mr) <span class="bold"><strong>const</strong></span>;</pre></li>
155<li><pre class="literallayout"><span class="type">day_type</span> <a name="id2516555-bb"></a>parse_day_of_month(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
156                            std::istreambuf_iterator&lt; charT &gt; &amp; stream_end) <span class="bold"><strong>const</strong></span>;</pre></li>
157<li><pre class="literallayout"><span class="type">day_of_week_type</span> 
158<a name="id2422160-bb"></a>parse_weekday(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
159              std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
160              string_type format) <span class="bold"><strong>const</strong></span>;</pre></li>
161<li><pre class="literallayout"><span class="type">day_of_week_type</span> 
162<a name="id2478555-bb"></a>parse_weekday(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
163              std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
164              string_type format, match_results &amp; mr) <span class="bold"><strong>const</strong></span>;</pre></li>
165<li><pre class="literallayout"><span class="type">year_type</span> <a name="id2392536-bb"></a>parse_year(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
166                     std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
167                     string_type format) <span class="bold"><strong>const</strong></span>;</pre></li>
168<li><pre class="literallayout"><span class="type">year_type</span> <a name="id2402260-bb"></a>parse_year(std::istreambuf_iterator&lt; charT &gt; &amp; sitr,
169                     std::istreambuf_iterator&lt; charT &gt; &amp; stream_end,
170                     string_type format, match_results &amp; mr) <span class="bold"><strong>const</strong></span>;</pre></li>
171</ol></div>
172</div>
173</div>
174</div>
175<table width="100%"><tr>
176<td align="left"></td>
177<td align="right"><small>Copyright © 2001-2005 CrystalClear Software, Inc</small></td>
178</tr></table>
179<hr>
180<div class="spirit-nav">
181<a accesskey="p" href="time_from_ftime.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="date_time/doxy.html#id2400160"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="fixed_string_to_int.html"><img src="images/next.png" alt="Next"></a>
182</div>
183</body>
184</html>
Note: See TracBrowser for help on using the repository browser.