App多时区测试

前几天我们的App遇到了时令交替后的时差问题,比如在欧洲冬令时与北京时间相差8小时,切换到夏令时与北京时间就相差7小时了,导致了一些问题。接下来我们来看看为什么会这样,以及要怎么解决这个问题。

一关于时区

这是课地理知识,地球经线有360度,一个时区的范围是15个经度,共分为24 个时区。地球又分东西半球,东西半球各占12个时区;每个时区相差1个小时,最多相差24小时,也就是1天

二、关于冬令时和夏令时

1、冬季时间通常指当地标准时间。在使用夏令时的地区,时钟在夏季拨快一小时,然后在冬季拨回标准时间。

2、夏令时是指为了节约能源而人为设定时间。又称夏令时(DST 即Daylight Saving Time的缩写),本制度实施过程中采用的统一时间称为夏令时(DST)。

3、一般在清晨的夏季,人们可以早起早睡,减少照明量,充分利用照明资源,从而节省照明用电。采用夏令时的国家具体规定不一样。目前,全世界每年有近110个国家实行夏令时。

4、有夏天的时候,就有冬天的时候。很多中高纬度国家在夏季到来前将时针拨快一小时,新的时间就是夏令时。在下半季秋季到来之前,将时针再拨回一个小时,这就形成了冬季时间。

5、不同国家冬令时和夏令时切换的时间不是统一的,可以参考这个

三、关于UTC

协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。

四、关于GMT

GMT(Greenwich Mean Time)——格林尼治标准时间(格林尼治所在地的标准时间),格林尼治标准时间是19 世纪中叶大英帝国的基准时间,同时也是事实上的世界基准时间。

地区:英国 皇家格林尼治天文台

时区:UTC/GMT 0 (零时区)

五、时间戳

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

六、问题以及解决办法

客户端上传设备所在时区与GMT的时间偏差到服务器,服务器只关注时间偏差,不关注设备的时区以及对应的国家地区。

后客户端上更改上报信息,新增设备所在的地区,服务器计算时差时根据地区和时区来进行计算。

 

 

 

夏令时比标准时快一个小时

技术上如何处理多时区

 

posted @ 2023-03-31 19:29  baoling  阅读(323)  评论(0编辑  收藏  举报