我想通過系統命令「date」將64位時間戳(在我們)轉換爲日期字符串,以設置系統日期。我發現/中實現此解決方案:C++ 64位時間戳到32位time_t
char loc_ach_buf[25];
uint64_t loc_ui64_TimeStamp_us;
time_t loc_t_TimeStamp_s;
...
loc_t_TimeStamp_s = loc_ui64_TimeStamp_us/1000000;
strftime(loc_ach_buf, sizeof(loc_ach_buf), "date %Y%m%d%H%M.%S", gmtime(&loc_t_TimeStamp_s));
system(loc_ach_buf);
這工作得很好,但我的問題是,time_t的是我的系統上的32位值,因此會有問題Year 2038 problem。任何想法如何解決這個問題?或者有沒有strftime的替代品。
還記得2000年?現在不解決2038問題。等到2037年 - 那麼他們將支付比現在多得多) – PiotrNycz