为什么现在和现在之间的差异时间会导致一小时?不应该是0吗?
time_t diffe = difftime(now, now);
CCLOG("wow %i", localtime(&diffe)->tm_hour);
日志结果 = “哇 1”
谢谢
为什么现在和现在之间的差异时间会导致一小时?不应该是0吗?
time_t diffe = difftime(now, now);
CCLOG("wow %i", localtime(&diffe)->tm_hour);
日志结果 = “哇 1”
谢谢
difference
是一个双精度值0
。
当您使用time_t
带值0
时,epoch
这是 1970-01-01 00:00:00。当您使用localtime
和 提前一小时的时区解释这一点时GMT
,您会得到 1970-01-01 01:00:00,这就是您看到的原因
1 hour
“不同之处”。
difftime
返回 a double
(秒数),而不是time_t
.
localtime
, 另一方面,接受一个time_t*
论点。通过 adouble*
没有多大意义。
difftime
返回以秒为单位的差异(双)。localtime
另一方面,tm
使用提供的值初始化结构。所以我的猜测是你正在GMT+1
时区执行代码。要获得小时差,只需打印difftime(now, now) / (60.0 * 60.0)