...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::gregorian::date — A date type based on gregorian_calendar.
// In header: <boost/date_time/gregorian/greg_date.hpp> class date : public date_time::date< date, gregorian_calendar, date_duration > { public: // 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(); date(year_type, month_type, day_type); explicit date(const ymd_type &); explicit date(const date_int_type &); explicit date(date_rep_type); explicit date(special_values); // public member functions date_int_type julian_day() const; day_of_year_type day_of_year() const; date_int_type 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/destructdate();Default constructor constructs with not_a_date_time.
date(year_type y, month_type m, day_type d);Main constructor with year, month, day.
explicit date(const ymd_type & ymd);Constructor from a ymd_type structure.
explicit date(const date_int_type & rhs);Needed copy constructor.
explicit date(date_rep_type rhs);Needed copy constructor.
explicit date(special_values sv);Constructor for infinities, not a date, max and min date.
date
public member functionsdate_int_type julian_day() const;Return the Julian Day number for the date.
day_of_year_type day_of_year() const;Return the day of year 1..365 or 1..366 (for leap year)
date_int_type modjulian_day() const;Return the Modified Julian Day number for the date.
int week_number() const;Return the iso 8601 week number 1..53.
date_int_type day_number() const;Return the day number from the calendar.
date end_of_month() const;Return the last day of the current month.