从上面对time_t和tm的分析你应该很容易想到如何进行时间的加减操作了吧。一种方法,我们可以对time_t类型的数据直接进行加减秒数操作。另一种方法,可以操作tm结构体内的变量。下面一个例子实现对当前时间加30分钟的操作。
#include
#include int main( int argc, char *argv[] )
{time_t tmp_time;struct tm *ptime;struct tm *tmp;tmp_time = time(NULL);//获取当前时间ptime = localtime(&tmp_time);printf("%d-%d-%d %d:%d:%d\n",(1900+ptime->tm_year),(1+ptime->tm_mon),ptime->tm_mday,\ptime->tm_hour,ptime->tm_min,ptime->tm_sec);tmp_time += 30*60;tmp = localtime(&tmp_time);printf("%d-%d-%d %d:%d:%d\n",(1900+tmp->tm_year),(1+tmp->tm_mon),tmp->tm_mday,\tmp->tm_hour,tmp->tm_min,tmp->tm_sec);ptime->tm_min += 30;printf("%d-%d-%d %d:%d:%d\n",(1900+ptime->tm_year),(1+ptime->tm_mon),ptime->tm_mday,\ptime->tm_hour,ptime->tm_min,ptime->tm_sec);return 0;
}