0

简单的问题:year * 10000 + month * 100 + day总是在增加?例如,今天是 20121011,明天是 20121012,后者高 1。总是这样吗?我以前听说过日期和时间发生了一些疯狂的事情,但我不是专家。

只是为了抢占一些响应 - 我知道这远非处理日期/时间的最佳方式。我不能使用适当的库来解决我正在处理的问题而不跳过一些严重的障碍,我更喜欢一个简单的解决方案。

4

5 回答 5

3

是的,它必须。0<day<100并且0<month<100总是。前提是您使用全年,例如 2012 年而不是 12 年。

而且你不应该比较不同区域的时间,那你就可以了。

于 2012-10-11T20:51:42.673 回答
3

在现实世界中,时不时有人会向后调整系统时间。某人可以是另一个程序,特别是 NTP 守护程序。如果调整发生在午夜,您的日期值可能会达到 20121014,然后是 20121013。如果您正在制作永远不会崩溃或故障的软件,则需要为系统时间倒退的可能性做好准备。

于 2012-10-13T07:32:17.210 回答
2

从某种意义上说,这是单调的,两个不同的日期将按时间顺序进行数字排序。

于 2012-10-11T22:22:36.373 回答
1

不确定您的范围,但不要忘记时区。

我们如何认为改变时间的定义比我们对时间的解释更容易,这真是令人惊讶。:[

于 2012-10-11T20:53:56.070 回答
0

从逻辑上讲,这似乎可行,因为它总是会增加。所有 3 件(日、月、年)都是单调递增的,只要您使用完整的 4 位数年份,我看不出明显的问题。(我假设这些要么都在同一个时区,要么转换为某个标准时区)。

我不知道为什么你需要走这条路,但它应该可以工作。

于 2012-10-11T20:54:02.757 回答