]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/date_time/xmldoc/ex_print_month.xml
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / date_time / xmldoc / ex_print_month.xml
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">
4
5 <!-- Copyright (c) 2001-2004 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)
8 -->
9
10 <section id="date_time.examples.print_month">
11 <title>Print Month</title>
12
13 <para>
14 Simple utility to print out days of the month with the days of a month. Demontstrates date iteration (date_time::date_itr).
15 </para>
16 <programlisting>
17 <![CDATA[
18 /* This example prints all the dates in a month. It demonstrates
19 * the use of iterators as well as functions of the gregorian_calendar
20 *
21 * Output:
22 * Enter Year: 2002
23 * Enter Month(1..12): 2
24 * 2002-Feb-01 [Fri]
25 * 2002-Feb-02 [Sat]
26 * 2002-Feb-03 [Sun]
27 * 2002-Feb-04 [Mon]
28 * 2002-Feb-05 [Tue]
29 * 2002-Feb-06 [Wed]
30 * 2002-Feb-07 [Thu]
31 */
32
33 #include "boost/date_time/gregorian/gregorian.hpp"
34 #include <iostream>
35
36 int
37 main()
38 {
39 std::cout << "Enter Year: ";
40 int year, month;
41 std::cin >> year;
42 std::cout << "Enter Month(1..12): ";
43 std::cin >> month;
44
45 using namespace boost::gregorian;
46 try {
47 //Use the calendar to get the last day of the month
48 int eom_day = gregorian_calendar::end_of_month_day(year,month);
49 date endOfMonth(year,month,eom_day);
50
51 //construct an iterator starting with firt day of the month
52 day_iterator ditr(date(year,month,1));
53 //loop thru the days and print each one
54 for (; ditr <= endOfMonth; ++ditr) {
55 #if defined(BOOST_DATE_TIME_NO_LOCALE)
56 std::cout << to_simple_string(*ditr) << " ["
57 #else
58 std::cout << *ditr << " ["
59 #endif
60 << ditr->day_of_week() << "]"
61 << std::endl;
62 }
63 }
64 catch(std::exception& e) {
65
66 std::cout << "Error bad date, check your entry: \n"
67 << " Details: " << e.what() << std::endl;
68 }
69 return 0;
70 }
71
72 ]]>
73 </programlisting>
74 </section>