编程过程中经常需要各种格式的时间形式,比如整型时间、年月日形式的时间等,下面对各种格式的时间及操作进行简单的总结:
1、获取当前时间的整型数值
time_t ttime;
ttime = time(NULL); // 秒数
struct timeb timeSeed;
ftime(&timeSeed); // timeSeed.millitm毫秒数
ttime为1970年1月1日至今所经历的时间,单位秒
timeSeed为1970年1月1日至今所经历的时间,结构体成员包括秒数、毫秒数、时区等
2、获取当前时间的yyyy/mm/dd hh/mm/ss形式
time_t ttime;
ttime = time(NULL);
tm *stTime = localtime(&ttime);
// 以年月日的形式输出时间
printf("%d-%02d-%02d %02d:%02d:%02d\n",
stTime ->tm_year + 1900,
stTime ->tm_mon + 1,
stTime ->tm_mday,
stTime ->tm_hour,
stTime ->tm_min,
stTime ->tm_sec);
// 以指定格式输出
char dateBuff[20];
strftime(dateBuff, buffLen, "%Y-%m-%d %H:%M:%S", localtime(&ttime));
// 将年月日格式的时间再次转换成整型
time_t dateInt;
dateInt = mktime(stTime );
将时间以年月日的形式存放在结构体tm之中,注意结构体成员的值均是减去1900年1月1日之后的值。
strftime函数可将时间以指定格式输出到数组dateBuff之中。
mktime函数可将tm结构的时间格式转换成整型