获取当前时间并格式化

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

/**
* struct tm {
*	int tm_sec; 	// 秒 – 取值区间为[0,59] 
*	int tm_min; 	// 分 - 取值区间为[0,59] 
*	int tm_hour; 	// 时 - 取值区间为[0,23]
*	int tm_mday; 	// 一个月中的日期 - 取值区间为[1,31] 
*	int tm_mon; 	// 月份(从一月开始,0代表一月) - 取值区间为[0,11]
*	int tm_year; 	// 年份,其值等于实际年份减去1900
*	int tm_wday; 	// 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推
*	int tm_yday; 	// 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推
*	int tm_isdst; 	// 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的时候,tm_isdst为0;不了解情况时,tm_isdst()为负。
*	long int tm_gmtoff; 	// 指定了日期变更线东面时区中UTC东部时区正秒数或UTC西部时区的负秒数 
*	const char *tm_zone; 	// 当前时区的名字(与环境变量TZ有关) 
*};
**/

int main()
{
	time_t time_now;
	time(&time_now);
   
	char time_string[32] = {0};
	struct tm* time_p = NULL;
	
	time_p = gmtime(&time_now);
	if(time_p == NULL)
		return -1;
	
	sprintf(time_string,"%d-%d-%d %d:%d:%d",1900 + time_p->tm_year,1+time_p->tm_mon,time_p->tm_mday, 8 + time_p->tm_hour, time_p->tm_min, time_p->tm_sec);
	printf("time:%s \n",time_string);
	
   return 0;
}