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

Click here to view the latest version of this page.

Class template last_kday_of_month

boost::date_time::last_kday_of_month — Calculate something like Last Sunday of January.


template<typename date_type> 
class last_kday_of_month
  :  : public boost::date_time::year_based_generator< date_type >
// types
typedef date_type::calendar_type calendar_type;
typedef calendar_type::day_of_week_type day_of_week_type;
typedef calendar_type::month_type month_type;
typedef calendar_type::year_type year_type;
typedef date_type::duration_type duration_type;

// construct/copy/destruct
last_kday_of_month(day_of_week_type, month_type);

// public member functions
date_type get_date(year_type) const;
month_type month() const;
day_of_week_type day_of_week() const;
virtual std::string to_string() const;


Useful generator functor for finding holidays and daylight savings Get the last day of the month and then calculate the difference to the last previous day.

last_kday_of_month construct/copy/destruct

  1. last_kday_of_month(day_of_week_type dow, month_type m);


    The day of week, eg: Sunday, Monday, etc


    The month of the year, eg: Jan, Feb, Mar, etc

last_kday_of_month public member functions

  1. date_type get_date(year_type year) const;
  2. month_type month() const;
  3. day_of_week_type day_of_week() const;
  4. virtual std::string to_string() const;

    Returns a string formatted as "M4.5.0" ==> last Sunday in April.

Copyright 2001-2005 CrystalClear Software, Inc