Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.


Simple utility to print out days of the month with the days of a month. Demontstrates date iteration (date_time::date_itr).

This example prints all the dates in a month. It demonstrates
the use of iterators as well as functions of the gregorian_calendar

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>

  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 first day of the month
    day_iterator ditr(date(year,month,1));
    //loop thru the days and print each one
    for (; ditr <= endOfMonth; ++ditr) {
      std::cout << *ditr << " ["
          << 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;

Generated Wed Aug 21 16:54:33 2002 by Doxygen for CrystalClear Software 2000-2002