3

如果我使用 C++ 时差 (timediff) 函数来计算 2 次之间的差异,而后面的时间是在日光节约的时间更改之后,返回的差异会计算这一点。

例如,我有 23:00 的时间和 11:00 的时间。时间在这个时间中间发生变化,即向前一小时。

我会得到 12 小时还是 11 小时的差异?

4

2 回答 2

1

函数是difftime,不是timediff。它需要两个 time_t作为参数;time_t通常代表 UTC,而不是特定的本地时间,因此不会出现夏令时问题。

于 2013-02-05T14:58:23.337 回答
0

是的你将会。在 Y2k 的日子里,我不得不在 Visual Studio 6 中处理它。然后他们更改了使代码无效的 DST 规则。

如果你看到一个向前一小时的神秘跳跃,然后向后一小时,它就是 DST 在 RTL 中抬起丑陋的头。

于 2013-02-05T16:59:25.570 回答