[英]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.