时间加减

从上面对time_t和tm的分析你应该很容易想到如何进行时间的加减操作了吧。一种方法,我们可以对time_t类型的数据直接进行加减秒数操作。另一种方法,可以操作tm结构体内的变量。下面一个例子实现对当前时间加30分钟的操作。

#include <time.h>
#include <stdio.h>

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;
}


你可能感兴趣的:(时间加减)