| Home | Libraries | People | FAQ | More

## Class date

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

## Synopsis

    class date {
    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);
      date(const ymd_type &);
      date(const date_int_type &);
      date(date_rep_type);
      date(special_values);

      // 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;
    };

## Description

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;