diff options
Diffstat (limited to 'src/boost/libs/date_time/xmldoc/ex_print_month.xml')
-rw-r--r-- | src/boost/libs/date_time/xmldoc/ex_print_month.xml | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/boost/libs/date_time/xmldoc/ex_print_month.xml b/src/boost/libs/date_time/xmldoc/ex_print_month.xml new file mode 100644 index 000000000..2cca27eea --- /dev/null +++ b/src/boost/libs/date_time/xmldoc/ex_print_month.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" +"../../../tools/boostbook/dtd/boostbook.dtd"> + +<!-- Copyright (c) 2001-2004 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.examples.print_month"> + <title>Print Month</title> + + <para> + Simple utility to print out days of the month with the days of a month. Demontstrates date iteration (date_time::date_itr). + </para> + <programlisting> + <![CDATA[ + /* This example prints all the dates in a month. It demonstrates + * the use of iterators as well as functions of the gregorian_calendar + * + * Output: + * Enter Year: 2002 + * Enter Month(1..12): 2 + * 2002-Feb-01 [Fri] + * 2002-Feb-02 [Sat] + * 2002-Feb-03 [Sun] + * 2002-Feb-04 [Mon] + * 2002-Feb-05 [Tue] + * 2002-Feb-06 [Wed] + * 2002-Feb-07 [Thu] + */ + + #include "boost/date_time/gregorian/gregorian.hpp" + #include <iostream> + + int + main() + { + std::cout << "Enter Year: "; + int year, month; + std::cin >> year; + std::cout << "Enter Month(1..12): "; + std::cin >> month; + + using namespace boost::gregorian; + try { + //Use the calendar to get the last day of the month + int eom_day = gregorian_calendar::end_of_month_day(year,month); + date endOfMonth(year,month,eom_day); + + //construct an iterator starting with firt day of the month + day_iterator ditr(date(year,month,1)); + //loop thru the days and print each one + for (; ditr <= endOfMonth; ++ditr) { + #if defined(BOOST_DATE_TIME_NO_LOCALE) + std::cout << to_simple_string(*ditr) << " [" + #else + std::cout << *ditr << " [" + #endif + << ditr->day_of_week() << "]" + << std::endl; + } + } + catch(std::exception& e) { + + std::cout << "Error bad date, check your entry: \n" + << " Details: " << e.what() << std::endl; + } + return 0; + } + + ]]> + </programlisting> +</section> |