c++之time_t和struct tm及时间戳的正确使用方式
作者:hpuzsk
C++中处理时间的常用数据类型有time_t和struct tm,time_t通常用来表示时间戳,即从1970年1月1日至今的秒数,struct tm是一个结构体,用来存储年、月、日、时、分、秒等信息,时间戳可以通过gmtime()转换为struct tm类型,反之亦然
c++ time_t和struct tm及时间戳使用
使用方法
如下:
char cNow[32] = { 0 }; time_t now = time(NULL); struct tm *pNow = localtime(&now); sprintf(cNow, "%04d:%02d:%02d %02d:%02d:%02d", pNow->tm_year + 1900, pNow->tm_mon + 1, pNow->tm_mday, pNow->tm_hour, pNow->tm_min, pNow->tm_sec);
转换为时间戳的方法
如下:
(unsigned int)now
这样便转化成了标准时间戳的形式。
如果需要把此项写入数据库,sql语句为
sprintf(chSql,"insert into table (timestamp) values (from_unixtime(%d));",(unsigned int)now);
注意这个timestamp 这列要是 timestamp类型或者是datetime类型。
写入到数据库之后的格式为
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。