print_month.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 63 行

CPP
63
字号
/* 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>intmain(){  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() << " week: "                << ditr->week_number() << "]"                << std::endl;     }  }  catch(std::exception& e) {    std::cout << "Error bad date, check your entry: \n"              << "  Details: " << e.what() << std::endl;  }  return 0;}/*  Copyright 2001-2004: CrystalClear Software, Inc *  http://www.crystalclearsoftware.com * *  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) */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?