簡體   English   中英

轉換毫秒到time_t

[英]Convert milliseconds to time_t

我具有從2004年到特定日期的毫秒數。 我想將其轉換為time_t以與ctime()一起顯示嗎?

也許還有另一種方法可以通過這種毫秒的時間戳可視化日期,有人嗎?

假設“從2004年開始”是指“從2004年世界標准時間00:00開始”,那么

time_t time = 1072915200 + millis / 1000;

請注意, ctime()將以本地時間而不是UTC顯示結果。

time_t的精度僅為一秒。 如果您認為可以,則可以使用mktime()計算2004-01-01的time_t值,並將其添加到以秒為單位的時間值中。

struct tm tp;
memset(&tp, 0, sizeof(tp));
tp.tm_mday = 1;
tp.tm_mon = 0;
tp.tm_year = 2004 - 1900;
time_t offset = mktime(&tp);

time_t realtime = offset + yourtime / 1000;

printf("%s", ctime(&realtime));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM