ISO 8601:更好的日期格式

2021-02-26 16:11:18

如果您还没生活在一块石头上,您可能已经听说世界上有多种日期格式,例如美国的日期格式(mm / dd / yyyy)和欧洲的日期格式(dd.mm.yyyy)。如果您足够聪明,那么您可能还注意到,美国佬很无礼,而且很糟糕。一个简单的结论,就是很多人都从中得出结论,欧洲格式是最好的格式,但是我不认为这是真的。如果您是这么想的人之一,那么我在这里(希望)通过向您介绍一种鲜为人知的日期格式ISO 8601来改变主意。

您可以通过格式名称中的“ ISO”部分看到,这是国际标准化组织(International Organization for Standardization)编写的实际标准。它定义了许多很酷的东西,例如编写时间间隔的方法,这对编写便携式软件很有用,以及日历,其中年份不是按月而是按周分开的,在财务中使用,但是这里我们仅对基础知识感兴趣简化后,核心日期格式如下所示:

是的,就是这样。您可以完全按照其他日期格式输入年,月,日和时间。没什么特别的,所以您可以在2分钟内学会它。

这是编写该标准的主要原因,也是人们仍然使用它的原因。其他日期格式可能很难区分。例如,考虑以下日期:

脱离上下文阅读时,您完全不知道那里发生了什么。这里是02还是月份?除非日期中的日期大于12,否则您就不可能知道一个月:

这一天的模棱两可是一个非常普遍的问题,通常会在网上出现。人们只是以他们知道的任何日期格式写下日期,甚至没有想到其他人可以用不同的方式解释日期。

ISO 8601不会出现此问题,因为格式的独特性,它始终很明显是哪一天,哪一天是月份:

尽管其他日期格式通常不对如何编写内容提供严格的要求,但ISO 8601是一个例外。这里只有一种正确的写日期的方法,这不仅对计算机进行解析很有用,而且对人类避免与其他格式的混淆以及提高可读性也很有帮助。以下是一些限制条件:

日期中的元素始终用连字符分隔。没有很多日期格式使用此定界符,当在文件名中使用日期时,这也很有用,因为其中通常不接受斜杠。

元素总是填充到最大位数。这不仅使所有日期看起来都一样漂亮,而且与这种格式的其他怪癖相结合,允许名称中带有日期的文件仅按文件名排序。

年份始终以完整形式书写。这使得格式在记录时是唯一的,并且消除了它可以采取的任何形式的2000年问题。例如,在写生日时,总是很清楚我们谈论的是哪个世纪。

时间始终以24小时格式编写,因此不会混淆一天中发生了什么事情。

乍一看,欧洲格式似乎已逐渐变得不合逻辑-几天变成几个月,几个月变成几年:

但是,这忽略了数字的一个非常重要的特征-字节序。考虑一个常规数字,例如:

如您所见,这里的数字与欧洲格式的元素相反。当某物最左边的元素最有价值时,我们称其为大端。

而且,正如您所看到的,ISO 8601在这方面是完全一致的,因为一切都是大字节序:

如果考虑时间,情况会变得更糟,因为它是大尾数格式,例如ISO 8601,因此不适用于任何其他日期格式:

18.12.2002 23:03:59<-<-< ---<-<-<-数字---------> < ------- Elements12 / 18/2002 23:03:59<-<-< ---<-<-<-数字?????????? < ------- Elements2002-12-18 23:03:59< ---<-<-<-<-<-数字< ---------&lt ; -------元素

如果您仍然无法在脑海中想像所有这些内容,请查看此Reddit帖子。

如果您认为ISO 8601是一个愚蠢的事情,在他们的地下室中有人组成,却没人真正使用,请再三考虑,因为事实与事实相去甚远:

它标准化的事实至少可以说明一些问题。您喜欢的格式是否有整齐的数百页文档,其中有非常详尽的描述,并且得到了国际认可?该标准还远远没有过时-在1988年发布后,它在1991、2000、2004和2019年进行了更新。

正如我已经提到的那样,该标准在IT中得到了积极的应用,软件所使用的几乎所有内容以及以某种方式涉及书面数字日期格式的内容都已经达到了ISO 8601标准。

yyyy-mm-dd自一开始就被许多国家(如加拿大,瑞典和日本)改编或用作国家日期格式。有关更多详细信息,请参见本文。

它没有ISO 8601的任何出色功能,并且在国际上也无法正常工作(即假设您与之交流的人都知道英语)。如果您认为后者不是问题,请想象一下,如果您不得不阅读某人用他们的母语写的一个您不懂的日期,将会有什么样的感觉:

它对您有用的唯一原因是因为您不习惯它。经过一点练习,它会比您喜欢的日期格式更奇怪。

首先,有关顺序是小端的说法是很可疑的。您可以确定的唯一情况是,我们谈论的是每天发生的事件,但是我可以想到许多情况,当年份和月份更相关时:

其次,关联的顺序实际上是不相关的。即使相关性顺序是这种方式,您也不会大声地读出日期,因此无需以某种方式对它们进行排序。如果您对年份不感兴趣,则可以跳过它并阅读日期的结尾,就像在不对小时感兴趣的情况下阅读时间一样。

我认为,就国际交流(例如在线发布内容)而言,ISO 8601似乎明显优于其他日期格式,并且正如您所看到的,我有足够的理由这么说。尽管这种格式确实吸引了很多观众,但不幸的是,这种格式没有达到预期的规模。通过撰写本文,希望我能使您至少考虑不同的日期格式,并在使人们了解您在说什么日期时更加谨慎。