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 to view this page for the latest version.

Class date

boost::gregorian::date — A date type based on gregorian_calendar.


// In header: <boost/date_time/gregorian/greg_date.hpp>

class date {
  // types
  typedef gregorian_calendar::year_type        year_type;       
  typedef gregorian_calendar::month_type       month_type;      
  typedef gregorian_calendar::day_type         day_type;        
  typedef gregorian_calendar::day_of_year_type day_of_year_type;
  typedef gregorian_calendar::ymd_type         ymd_type;        
  typedef gregorian_calendar::date_rep_type    date_rep_type;   
  typedef gregorian_calendar::date_int_type    date_int_type;   
  typedef date_duration                        duration_type;   

  // construct/copy/destruct
  date(year_type, month_type, day_type);
  date(const ymd_type &);
  date(const date_int_type &);

  // public member functions
  date_int_type julian_day() const;
  day_of_year_type day_of_year() const;
  long modjulian_day() const;
  int week_number() const;
  date_int_type day_number() const;
  date end_of_month() const;


This class is the primary interface for programming with greogorian dates. The is a lightweight type that can be freely passed by value. All comparison operators are supported.

date public construct/copy/destruct

  1. date();
  2. date(year_type y, month_type m, day_type d);
  3. date(const ymd_type & ymd);
  4. date(const date_int_type & rhs);
  5. date(date_rep_type rhs);
  6. date(special_values sv);

date public member functions

  1. date_int_type julian_day() const;
  2. day_of_year_type day_of_year() const;
  3. long modjulian_day() const;
  4. int week_number() const;
  5. date_int_type day_number() const;
  6. date end_of_month() const;