Last Day of the Months Example that gets a month and a year from the user and finds the last day of each remaining month of that year. int main() { using namespace boost::gregorian; greg_year year(1400); greg_month month(1); // get a month and a year from the user try { int y, m; std::cout << " Enter Year(ex: 2002): "; std::cin >> y; year = greg_year(y); std::cout << " Enter Month(1..12): "; std::cin >> m; month = greg_month(m); } catch(bad_year by) { std::cout << "Invalid Year Entered: " << by.what() << '\n' << "Using minimum values for month and year." << std::endl; } catch(bad_month bm) { std::cout << "Invalid Month Entered" << bm.what() << '\n' << "Using minimum value for month. " << std::endl; } date start_of_next_year(year+1, Jan, 1); date d(year, month, 1); // add another month to d until we enter the next year. while (d < start_of_next_year){ std::cout << to_simple_string(d.end_of_month()) << std::endl; d += months(1); } return 0; } ]]>