c++之time_t和struct tm及時間戳的正確使用方式
更新時間:2024年10月04日 10:52:43 作者: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類型。
寫入到數據庫之后的格式為

總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

