为何没有asia/beijing时区?

Asia/Beijing 这个时区是消失了么? 大约1小时 ago

@tinyfool 对啊,我就奇怪为什么北京时间就要用上海和成都。。。 大约1小时 ago

@tinyfool @CatChen我所疑惑的就是为什么不统一一下呢,很容易产生困惑噢 大约1小时 ago

开发者都知道

想必做开发的,尤其是PHP或Java的,很多年前就都会注意到这个情况:时区中没有asia/beijing,只有asia/shanghai和asia/chongqing。以前看到不少这种抱怨的帖子,毕竟和心理预期不一样,还会导致程序出错或程序员浪费时间调试。大家会猜测这是不是老外故意和北京捣乱。我认为不是。

投诉BUG

有国人愤而投诉Ubuntu

for i‘m from P.R.China and BeiJing is our capital city, we are always using BeiJing time zone. please fix it.

甚至投诉Sun说“The Time Zone id name for PRC is wrong”:

it is better if there exists a id name as "Asia/Beijing" for PRC.
Ubuntu认为:首先这个问题不归他。其次维护这个将会是易错的,而且容易与其他软件不兼容。
Sun的回答是“It is not wrong”。对他给出的理由,还是有说服力的:

首先,我想确这一点,在JDK诞生之前,国际标准时区就没有Asia/Beijing,只有Asia/Shanghai或Asia/Chongqing?(One thing I want to be confirmed here is, before JDK‘s birth, the international standard TimeZone name for PRC is Asia/Shanghai or Asia/Irkutsk? not Asia/Beijing?)

其次,在1986年到1991年期间,中华人民共和国采用了夏时制。为了能够处理任何给定的时间格式,时区就需要知道是否历史上使用夏令时。daylight就是表明这一点的字段。因此,在JDK中使用daylight字段是不对的。

但根据他后面说的,我认为sun似乎有必要更改时区,毕竟sun认为时区的api应该支持同时代的时区。Asia/Shanghai和Asia/Chongqing代表中国,都是国民党时期的老黄历了:

sun的策略是只支持同时代(contemporary)的时区,而不是历史上(historical)的某一个时区。TimeZone和DateFormat code只应该对于当前的时区工作。最后,Fixed in JDK1.2 FCS-M, but the value is Asia/Shanghai, better one is Asia/Beijing.

小结
anyway,有没有asia/beijing时区,开发都没影响,保持各种系统和软件的兼容可能更重要吧。谁知道更多呢?请留言。

http://www.cnblogs.com/zhengyun_ustc/archive/2009/01/16/asia_beijing_timezone.html

时间: 2024-08-24 10:22:01

为何没有asia/beijing时区?的相关文章

The 2017 ACM-ICPC Asia Beijing Regional Contest

地址 Rank Solved A B C D E F G H I J 51/384 4/10 . . ? . O O . O . O O: 当场通过 ?: 赛后通过 .: 尚未通过 A Domains unsolved B K-Dimensional Foil unsolved C Graph upsolved by chelly chelly's solution 很显然的思路就是莫队+并查集 但众所周知并查集可以支持可撤销,但不是很好支持可持久化 于是就可以用上回滚莫队的套路了,回滚莫队可以

The 2018 ACM-ICPC Asia Beijing Regional Contest

训练时间:2019-03-31 本场阿渠连出A和D,成功带我们晋级. I题我坚定的写Java,完全没往打表找规律上想.背锅. A - Jin Yong’s Wukong Ranking List (HihoCoder - 1870) 给你n对拓扑关系,找出第一个不符合之前的拓扑关系的拓扑对. 建图,每加入一对拓扑对 x -> y,看看从 y 是否能跑到 x 即可. #include <bits/stdc++.h> #define FOPI freopen("in.txt&quo

Linux修改时间时区并在Tomcat中生效

Linux查看当前时间时区linux:~ # datelinux:~ # date –Rlinux:~ # zdump -v /usr/share/zoneinfo/Asia/Beijing ----查看时区情况Linux修改时区linux:~ # tzselectlinux:~ # cp /usr/share/zoneinfo/Asia/Beijing /etc/localtime linux:~ # hwclockLinux修改时间linux:~ # date -s 20131108linu

vcsa更改时区及搭建ntp服务器

1.更改vcsa时区 (1)运行tzselect命令进行时区的选择->4asia->9china->1beijing->1yes (2)将TZ='Asia/Beijing';export TZ 加入用户目录中的.profile文件 (3)cp/usr/share/zoneinfo/Asia/Beijing /etc/localtime 2.搭建ntpserver (1)将/etc/ntp.conf改为如下内容 tinkerpanic 0server216.229.0.179rest

centos7 修改时区

[[email protected] ~]# timedatectl  set-timezone Asia/Shanghai  #时区 [[email protected] ~]# ntpdate  time1.aliyun.com    #时间

[转帖]Docker中的时区问题处理

Docker中的时区问题处理 这两天在打docker的时候,发现自己的容器启动之后,里面date -R的输出时区是UTC,总是和北京时间差了8个小时. 作者:云平台运维开发来源:今日头条|2019-09-20 08:47 收藏 分享 ENV TZ=Asia/Shanghai 之前也遇到了 感谢原作者提供的思路. 背景 这两天在打docker的时候,发现自己的容器启动之后,里面date -R的输出时区是UTC,总是和北京时间差了8个小时. 标准镜像 时区是UTC 查看/etc/localtime,

IIS 配置 PHP 环境搭建:web 文件管理器

一.基础知识 我们知道php配置有几种: 1.CGI方式加载PHP环境,通常就是IIS里面配置解释器为 php.exe,早期比较常见,目前使用较少. 特点是:稳定,但效率太低. 2.ISAPI方式加载PHP环境,通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广. 特点是:多线程,效率较高,但不够稳定. 3.FastCGI方式加载PHP环境,在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了. 特点是:高效率,高稳定性,属于

ios日期格式转换

转自:http://blog.csdn.net/l_ch_g/article/details/8217725 1.如何如何将一个字符串如“ 20110826134106”装化为任意的日期时间格式,下面列举两种类型: NSString* string = @"20110826134106"; NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease]; [inputFormatter set

oracle10g登录em后,提示“java.lang.Exception: Exception in sending Request :: null”

出现错误时登录企业管理器时出现的界面 出现这种错误一般是因为没有设置时区,一般默认的是agentTZRegion=GMT,也就是GMT.所以大家只要设置了这个东西,然后重新启动dbconsole就可以了.下面是设置以及重新启动dbconsole的全过程. 第一步,在Oracle安装目录中找打这个文件emd.properties(以往大家都是找不到这个文件在哪里),D:\oracle\product\10.2.0\db_1\PC-20111014FOHC_orcl\sysman\config,我的