#include #include int main() { time_t base = 1142085600; for(int i = 0; i < 4; ++i) { time_t time = base + i * 24 * 60 * 60; std::cout << ctime(&time); } return 0; Sat Mar 11 08:00:00 2006 Sun Mar 12 09:00:00 2006 Mon Mar 13 09:00:00 2006 Tue Mar 14 09:00:00 2006 int main() { time_t base = 1142085600; for(int i = 0; i < 4; ++i) { struct tm* tm = localtime(&base); tm->tm_mday += i; std::cout << asctime(tm); } return 0; } Sat Mar 11 08:00:00 2006 Sat Mar 12 08:00:00 2006 Sat Mar 13 08:00:00 2006 Sat Mar 14 08:00:00 2006 #include #include int main() { time_t base = 1142085600; for(int i = 0; i < 4; ++i) { struct tm* tm = localtime(&base); tm->tm_mday += i; time_t time = mktime(tm); std::cout << asctime(tm); } return 0; } Sat Mar 11 08:00:00 2006 Sun Mar 12 09:00:00 2006 Mon Mar 13 09:00:00 2006 Tue Mar 14 09:00:00 2006 std::cout << ctime(&time); Sat Mar 11 08:00:00 2006 Sun Mar 12 08:00:00 2006 Mon Mar 13 08:00:00 2006 Tue Mar 14 08:00:00 2006 int main() { time_t base = 1142085600; for(int i = 0; i < 4; ++i) { struct tm* tm = localtime(&base); tm->tm_mday += i; time_t next = mktime(tm); std::cout << ctime(&next); } return 0; } int main() { time_t base = 1142085600; for(int i = 0; i < 4; ++i) { struct tm* tm = localtime(&base); tm->tm_mday += i; tm->tm_isdst = -1; // don't know if DST is in effect, please determine // this for me time_t next = mktime(tm); std::cout << ctime(&next); } return 0; } int main() { // 28 March 2009 05:00:00 GMT ( local - 08:00 (MSK) ) time_t base = 1238216400; std::time_t start_date_t = base; std::time_t end_date_t = base; std::tm start_date = *std::localtime(&start_date_t); std::tm end_date = *std::localtime(&end_date_t); end_date.tm_mday += 1; // end_date.tm_isdst = -1; std::time_t b = mktime(&start_date); std::time_t e = mktime(&end_date); std::string start_date_str(ctime(&b)); std::string stop_date_str(ctime(&e)); cout << " begin (MSK) (DST is not active): " << start_date_str; cout << " end (MSD) (DST is active): " << stop_date_str; } begin (MSK) (DST is not active): Sat Mar 28 08:00:00 2009 end (MSD) (DST is active): Sun Mar 29 09:00:00 2009