Форум — Development time 0 0 а не подскажите ф-цию для перевода из обычного представления(строкого) к примеру 13:32:21 в timeshtamp ? Из timeshtamp'а в строку : ctime(&tm) ... а вот наоборот как? Ссылка
#include <iostream> #include <time.h> static long convert ( const char *t ); int main () { time_t tm; time ( &tm ); string curr = ctime ( &tm ); string rez = curr.substr ( curr.find_first_of ( ':' ) - 2, 8 ); string time_old = "13:24:43"; tm = tm + convert ( time_old.c_str() ) - convert ( rez.c_str() ); std::cout << ctime ( &tm ); return 0; } long convert ( const char *t ) { long h = ( t[0] - '0' ) * 10 + ( t[1] - '0' ); long m = ( t[3] - '0' ) * 10 + ( t[4] - '0' ); long s = ( t[6] - '0' ) * 10 + ( t[7] - '0' ); return ( h * 60 + m ) * 60 + s; } Для учета года, дня и месяца аналогично. fura13 ★★★ (06.10.04 14:18:25 MSK) Ссылка
#iclude <iostream> #include <time.h> static long convert ( const char *t ) int main () { time_t tm; time ( &tm ); string curr = ctime ( &tm ); string rez = curr.substr ( curr.find_first_of ( ':' ) - 2, 8 ); string time_log = "13:24:43"; tm = tm + convert ( time_log.c_str() ) - convert ( rez.c_str() ); std::cout << ctime ( &tm ); return 0; } long convert ( const char *t ) { long h = ( t[0] - '0' ) * 10 + ( t[1] - '0' ); long m = ( t[3] - '0' ) * 10 + ( t[4] - '0' ); long s = ( t[6] - '0' ) * 10 + ( t[7] - '0' ); return ( h * 60 + m ) * 60 + s; } Sory fura13 ★★★ (06.10.04 14:20:08 MSK) Ссылка
Ответ на: комментарий от anonymous 06.10.04 15:26:57 MSK Результат, правда, в tm отдается. Далее mktime. Только не понятно, как ты собрался без даты timestamp получать. anonymous (06.10.04 15:31:17 MSK) Ссылка