/* * Date.hh * * Created on: Dec 7, 2010 * Author: lamikr */ #ifndef DATE_HH_ #define DATE_HH_ #include namespace plp { class Date { public: Date(); Date(int year_param, int month_param, int day_param, int hour_param, int min_param, int sec_param); virtual ~Date(); void printout(); bool is_leap_year(); bool is_last_day_of_month(); void next_second(); void next_min(); void next_hour(); void next_day(); void next_month(); void next_year(); void inc_minutes(int minutes); void inc_seconds(int seconds); Date *clone(); void copy(Date *date); bool before(Date *date2); bool equals(Date *date2); bool before_or_equal(Date *date2); bool before_or_equal_year(Date *date2); bool before_or_equal_month(Date *date2); bool before_or_equal_day(Date *date2); bool before_or_equal_hour(Date *date2); bool before_or_equal_min(Date *date2); static plp::Date parse_date_str(std::string date_str); int year; int month; int day; int hour; int min; int sec; std::string to_string(); protected: std::string to_sortable_string(); std::string to_sortable_day_string(); std::string to_sortable_hour_string(); std::string to_sortable_min_string(); //static const int arr_days_per_month[]; }; } #endif /* DATE_HH_ */