C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > c++ time_t和struct tm及时间戳使用

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类型。

写入到数据库之后的格式为

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文