Test TimeZone Questions

Test中一点需要注意的是,如果是分布式的系统,TimeZone也是需要test的一部分。

当你的client端位于北京timezone +8:00,而你的server、DB端可能位于纽约,timezone -5:00。

这样当你在client端想查询当日记录的话,这就引发一个问题,是用local time, 还是用global time去算当日这个24小时呢?

 

UTC/GTM是 global Time.

 

UTC + 时区值 = local Time.

 

北京时区是东八区,领先UTC八个小时,在电子邮件信头的Date域记为+0800。如果在电子邮件的信头中有这么一行:

<!--more-->
Date: Fri, 08 Nov 2002 09:42:22 +0800

说明信件的发送地的地方时间是二○○二年十一月八号,星期五,早上九点四十二分(二十二秒),这个地方的本地时领先UTC八个小时(+0800,就是东八区时间)。电子邮件信头的Date域使用二十四小时的时钟,而不使用AM和PM来标记上下午。

以这个电子邮件的发送时间为例,如果要把这个时间转化为UTC,可以使用一下公式:

UTC + 时区差 = 本地时间

时区差东为正,西为负。在此,把东八区时区差记为 +0800,

UTC + (+0800) = 本地(北京)时间 (1)

那么,UTC = 本地时间(北京时间))- 0800 (2)

0942 - 0800 = 0142

即UTC是当天凌晨一点四十二分二十二秒。如果结果是负数就意味着是UTC前一天,把这个负数加上2400就是UTC在前一天的时间。例如,本地(北京)时间是 0432 (凌晨四点三十二分),那么,UTC就是 0432 - 0800 = -0368,负号意味着是前一天, -0368 + 2400 = 2032,既前一天的晚上八点三十二分。

 

你可能感兴趣的:(Date,timezone,server)