Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Class template last_kday_of_month

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

Synopsis

// In header: <boost/date_time/date_generators.hpp>

template<typename date_type> 
class last_kday_of_month :
  public boost::date_time::year_based_generator< date_type >
{
public:
  // 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;
  std::string to_string() const;
};

Description

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 public construct/copy/destruct

  1. last_kday_of_month(day_of_week_type dow, month_type m);
    Specify the date spec like last 'Sunday' in 'April' spec.

    Parameters:

    dow

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

    m

    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;
    Return a concrete date when provided with a year specific year.
  2. month_type month() const;
  3. day_of_week_type day_of_week() const;
  4. std::string to_string() const;
    Returns string suitable for use in POSIX time zone string.

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


PrevUpHomeNext