【发布时间】:2014-01-30 21:44:52
【问题描述】:
所以我意识到我从服务器获取的表示日期的字符串是自纪元以来时间的 64 位表示。例如,我得到的值之一是:1380994682285。我尝试在字符串上执行 atoi,但显然这不起作用,因为我失去了精度并且我传递给 localtime() 的结果值导致日期不正确。这是在 iOS 上,所以有些手机是 32 位的,有些是 64 位的,目前,我看到它的 time_t 定义为 long。如何将这么大的 epoch 值转换为我最终可以从中获得人类可读日期的东西?
【问题讨论】:
-
试试
std::stoull。 -
那我会把它传递给什么? localtime 需要一个 time_t,在我的平台上它被定义为 long。
-
localtime也需要几秒钟,而您需要几秒钟。做除法。