time(&wtime);
ltime = localtime(&wtime);
year = 1900 + ltime->tm_year;
- month = ltime->tm_mon;
+ month = ltime->tm_mon + 1; // ltime-month: values 0 - 11...
day = ltime->tm_mday;
hour = ltime->tm_hour;
min = ltime->tm_min;
}
}
+void Date::next_hour() {
+ if ((hour >= 0) &&
+ (hour <= 24)) {
+ hour++;
+ if (hour > 24) {
+ hour = 0;
+ tomorrow();
+ }
+ }
+}
+
+void Date::inc_minutes(int minutes) {
+ int day_c;
+ int hour_c;
+ int ii;
+
+ day_c = minutes / 1440;
+ minutes = minutes - day_c * 1440;
+ hour_c = minutes / 60;
+ minutes = minutes - hour_c * 60;
+ for (ii = 0; ii < day_c; ii++) {
+ tomorrow();
+ }
+ for (ii = 0; ii < hour_c; ii++) {
+ hour++;
+ if (hour > 24) {
+ hour = 0;
+ tomorrow();
+ }
+ }
+ min = min + minutes;
+ if (min >= 60) {
+ min = min % 60;
+ hour++;
+ if (hour > 24) {
+ hour = 0;
+ tomorrow();
+ }
+ }
+}
+
+void Date::inc_seconds(int seconds) {
+ int min_c;
+
+ min_c = seconds / 60;
+ seconds = seconds - min_c * 60;
+ inc_minutes(min_c);
+ sec = sec + seconds;
+ if (sec >= 60) {
+ sec = sec % 60;
+ inc_minutes(1);
+ }
+}
+
string Date::to_string() {
char buffer[30];
string ret_val;