Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我使用 C++ 时差 (timediff) 函数来计算 2 次之间的差异,而后面的时间是在日光节约的时间更改之后,返回的差异会计算这一点。
例如,我有 23:00 的时间和 11:00 的时间。时间在这个时间中间发生变化,即向前一小时。
我会得到 12 小时还是 11 小时的差异?
函数是difftime,不是timediff。它需要两个 time_t作为参数;time_t通常代表 UTC,而不是特定的本地时间,因此不会出现夏令时问题。
difftime
timediff
time_t
是的你将会。在 Y2k 的日子里,我不得不在 Visual Studio 6 中处理它。然后他们更改了使代码无效的 DST 规则。
如果你看到一个向前一小时的神秘跳跃,然后向后一小时,它就是 DST 在 RTL 中抬起丑陋的头。