各种格式时间/日期的显示及转换(C/C++)

来源:互联网 发布:徐老师淘宝外设店 编辑:程序博客网 时间:2024/05/17 07:06

编程过程中经常需要各种格式的时间形式,比如整型时间、年月日形式的时间等,下面对各种格式的时间及操作进行简单的总结:
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结构的时间格式转换成整型