]> pilppa.org Git - libplp.git/blobdiff - src/Date.hh
w1 independent file cleanups.
[libplp.git] / src / Date.hh
diff --git a/src/Date.hh b/src/Date.hh
new file mode 100644 (file)
index 0000000..21b6bbe
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Date.hh
+ *
+ *  Created on: Dec 7, 2010
+ *      Author: lamikr
+ */
+
+#ifndef DATE_HH_
+#define DATE_HH_
+
+#include <string>
+
+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();
+                       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_ */