说书人
deepin
2023-03-21 00:20 23 安装时,默认时区是北京,我都要手动改成上海
😂
Reply Like 0 View the author
23 安装时,默认时区是北京,我都要手动改成上海
😂
学习了,就是如果可以自动配置好就更完美了。

看,23A2 ,时区改成 北京 ,然后浏览器处理上就出问题了

别扯有的没的,时区而已,我们的时间显示都是正常的。
与时俱进就好,21世纪谁愿意活在民国时间里嘛

别扯有的没的,时区而已,我们的时间显示都是正常的。
与时俱进就好,21世纪谁愿意活在民国时间里嘛
如果哪里没看懂我可以给你单独解释

我试了一下,deepin23A2中系统默认是北京时区,但是浏览器里默认是仍是shanghai,具体看图

我试了一下,deepin23A2中系统默认是北京时区,但是浏览器里默认是仍是shanghai,具体看图

可能是不同浏览器的处理方式不同?还是这个问题已经修复了吗

简单总结,设置成北京,可能出问题。设置成上海,一定没问题。
官方处理思路也是,不管界面是北京还是啥城市,后台一律是上海。
看,又有遇到时区相关问题的了,都是 北京 时区导致的
怪不得会这样!
可能是不同浏览器的处理方式不同?还是这个问题已经修复了吗

20.8同样存在,系统自带浏览器正常,EDGE有时差。可能是浏览器处理方式不一样。
学到老活到老
这个分享不错,我可以分享到wiki里吗?
这个分享不错,我可以分享到wiki里吗?
可以

Popular Events
More
这个事情大家应该都已经很熟悉了,稍微整理一下,以后如果再有相关的问题就直接把这个帖子贴过去。欢迎纠错和补充内容。
首先要明确的是,时区都是人为规定出来的,是为了使用和沟通方便,各个地方的人们才规定出了不同的时区。当然各位坛友也可以自己发明出一个时区来,但是如果别人都不承认这个时区,这个时区就没有什么意义。所以通常规定时区的都是比较权威的机构。比如说我们用的中国标准时间(通常叫「北京时间」)就是中国官方确定的。而在互联网上,时区是由IANA管理的(这个机构还管IP地址和域名的分配)。IANA曾经是美国政府管辖的,因为互联网最早就是从美国诞生,后来为了国际合作的需要创建了ICANN,并把IANA让渡给了这个国际组织。
IANA创建的时区规范是tz database(通常简称tzdata),在GNU/Linux系统里,这个数据库存放在
/usr/share/zoneinfo/目录中。每个时区是一个用二进制格式存放的文件,同时还有一些辅助的文本文件,比如说/usr/share/zoneinfo/zone.tab这个文件存放了一些时区的国家或地区代码、坐标、时区名称和注释。我们通常可以选择的时区就是在这个文件中定义的,称为主要(Canonical)时区。还有一些时区虽然在这个文档中没有定义,但是存在相应的时区文件,叫做链接(Link)时区。这些时区一般是曾经有用但是后来被废弃或者改名的,作为向后兼容使用。tzdata的时区名称通常是用一个城市来命名。在
/usr/share/zoneinfo/Asia/目录下,可以找到5个中国大陆的城市,分别对应民国时代的五个时区。昆仑时区:Asia/Kashgar 喀什
新藏时区:Asia/Urumqi 乌鲁木齐
陇蜀时区:Asia/Chongqing和Asia/Chungking 重庆
中原标准时区:Asia/Shanghai 上海
长白时区:Asia/Harbin 哈尔滨
在这些时区中,Asia/Kashgar、Asia/Chongqing、Asia/Chungking、Asia/Harbin已经被弃用,除了Asia/Kashgar被Asia/Urumqi替换外,其他的都替换成了Asia/Shanghai。在zone.tab文件中可以看到Asia/Shanghai后面注释了Beijing Time(即北京时间,中国标准时间),Asia/Urumqi后面注释了Xinjiang Time(新疆民间有时候还在用这个时区。有的版本后面还写了Vostok,是一个南极科考站)
为什么「北京时间」的代表城市是上海呢?本人猜测这个很可能是由于历史原因,如上所述,tzdata是按照民国时期提出的五个时区规定的。IANA曾经是美国的组织,美国很长一段时间不承认新中国,虽然北京时间很早就提出了,但是tzdata的设计也可能因此选择了旧标准。而现在虽然中国人也开始参与ICANN的工作,但是互联网已经普及,再去修改可能会造成不利影响,因此采用了这样的折衷方案。
虽然时区的定义是比较灵活的,但是一旦使用互联网发送信息都需要遵循IANA的标准,因此BSD系列和GNU系列都是直接选择了tzdata作为系统内置的时区标准。而Windows等虽然似乎系统时间并不是采用tzdata,但是互联网应用程序仍然需要使用tzdata的。在浏览器控制台可以执行这个代码查看本机的时区:
Intl.DateTimeFormat().resolvedOptions().timeZone;最后说说deepin系统的「北京」时区是怎么回事:这个完全是deepin自己发明创造出来的。因为他不属于通常的互联网标准,如果选择了这个时区,在网络上收发信息时其他计算机就会对你的时区产生疑惑,因此引发一些问题,比如说网页时间和系统差8个小时等等。只需要把时区改成「上海」时区就能解决。其实对deepin的开发者来说,如果实在不喜欢上海,完全可以在控制中心里把Asia/Shanghai起个「北京时间」的名字。楼主不知道他们为什么要乱动tzdata。