ISO 8601
页面Template:Multiple issues/styles.css没有内容。脚本错误:没有“Message box”这个模块。Template:Main Other Template:NoteTA 脚本错误:没有“Infobox”这个模块。 Template:Time sidebar
ISO 8601是一个涵盖日期和时间相关数据的全球交换和通信的国际标准。它由国际标准化组织(ISO)维护,于1988年首次发布,并于1991年、2000年、2004年和2019年进行了更新,并于2022年进行了修订[1]。该标准提供了一种以数字编写日期和时间的明确定义,用明确的方法来表示全球通信中的日历日期和时间,特别是为了避免在具有不同惯例的国家/地区之间,传输此类数据时误解数字日期和时间。
ISO 8601 适用于以下表示和格式:日期,使用格里历(包括儒略历);时间,基于24小时计时系统,可选择UTC偏移量;时间间隔;及其组合[2]。该标准未为所代表的日期/时间的任何元素赋予特定含义:任何元素的含义取决于其使用的上下文。所表示的日期和时间不能使用标准中不具有特定数字含义的词语(因此不包括中国历法中的脚本错误:没有“ilh”这个模块。),或不使用电脑字元(不包括图像或声音)[2]。
在遵守 ISO 8601“交换标准”的表示中,日期和时间的排列方式是,最大的时间项(通常是“年”)放在左边,接续较小的每个时间项放在前一个项目的右侧。每个项目的表示必须以阿拉伯数字的组合书写[3],以及在标准中被赋予特定含义的特定电脑字元(例如“-”、“:”、“T”、“W”、“Z”);也就是说,交换标准内的表示中不允许使用“一月”、“星期四”或“元旦”等常见的日期描述符(或部分日期)。
历史[编辑]
第一版ISO 8601标准于1988年发布,为“ISO 8601:1988”。它统一并取代了各个方面的许多旧的ISO标准日期和时间表示法:Template:Le、Template:Le、 Template:Le、Template:Le、和Template:Le[4]。它持续更新:第二版“ISO 8601:2000”,第三版“ISO 8601:2004”于2004年12月1日发布,“ISO 8601-1:2019”和“ISO 8601-2:2019”,于2019年2月25日发布,并被这些新版本取代。ISO 8601由以下人员编写[5]并直接负责:脚本错误:没有“ilh”这个模块。TC 154[6]。
ISO 2014,虽然已被取代,但最初以最重要到最低有效顺序引入全数字日期表示法的标准[YYYY]-[MM]-[DD]依然被采用。ISO周编号系统是在ISO 2015引入的;按序数日期识别天数最初在 ISO 2711中定义。
于2019年2月发出[3]ISO标准的第四次修订;ISO 8601-1:2019 代表先前 的略有更新内容;ISO 8601:2004标准[7][1],而新的ISO 8601-2:2019定义各种扩展,例如不确定性或扩充日期/时间格式(EDTF)[8][9][10][11][12][13]。
ISO 8601-1的修正案于2022年10月发布,其中包括一些小的技术澄清,并试图消除定义中的歧义。然而,最显著的变化是重新引入了“24:00:00”的格式,以指出日历日“结束”的瞬间。
ISO 8601-2的修正案于2025年1月发布。
| 名称 | 描述 |
|---|---|
| ISO 8601:1988 | 资料元素和交换格式 — 资讯交换 — 日期和时间的表示 |
| ISO 8601:1988/COR 1:1991 | 资料元素和交换格式 — 资讯交换 — 日期和时间的表示 — 技术勘误1 |
| ISO 8601:2000 | 资料元素和交换格式 — 资讯交换 — 日期和时间的表示 |
| ISO 8601:2004 | 资料元素和交换格式 — 资讯交换 — 日期和时间的表示 |
| ISO 8601-1:2019 | 日期及时间 — 资料交换的申述 — 第1部分:基本规则 |
| ISO 8601-2:2019 | 日期和时间 — 资讯交换的陈述 — 第2部分:扩展 |
| ISO 8601-1:2019/Amd 1:2022 | 日期和时间 — 资讯交换的陈述 — 第1部分:基本规则 — 修正案1:技术更正 |
| ISO 8601-2:2019/Amd 1:2025 | 日期和时间 — 资讯交换的表示 — 第2部分:扩展 — 修正案1:规范表达式、时间尺度组件的扩展和日期时间算术 |
基本原则[编辑]
- 时间日期按照年月日时分秒的顺序排列,大时间单位在小时间单位之前。除了公元前的时刻外,用本标准表示的两个时刻中较早者在字典序上先于较晚者。这个特性有利于按时间排序。
- 每个时间单位的位数固定,不足时于左补0。
- 本标准提供两种方法来表示时间:其一为只有数字的基础格式;其二为添加分隔符的扩展格式,从而更易读。标准原文建议“应避免在纯文本中使用基础格式”。扩展格式使用连字符“-”来分隔日期,使用冒号“:”来分隔时间。比如2009年1月6日在扩展格式中可以写成“2009-01-06”,在基本格式中可以简单地写成“20090106”而不会产生歧义。
- 精度不足时,可以从右侧开始忽略日期或时间的某个单位。比如2004年5月可以表示为“2004-05”(第五个月)。这种格式永远不会表示2004年未指定月份的第5天,也不会表示从2004年至2005年。
- 实际运用中需要更高的精度时,可以在秒数后添加十进制小数。
日期表示法[编辑]
ISO 8601使用公历。ISO 8601:2004规定了一个参考日期,即1875年5月20日,当天《米制公约》在巴黎签署;ISO 8601-1:2019删除了这个明确的参考日期。不过公历自1582年10月15日公布后,到米制公约签署前的日期,也一直适用此标准。
至于公布公历前的日期,若通信双方达成一致,也可以用前推公历表示。标准要求所有日期必须连续,因此需要向前推导这些日子在格里历中对应的日期,而使用儒略历将违反标准。
年份[编辑]
为了规避千年虫问题,标准要求至少使用四位数来表示年份,形如“YYYY”。这样可以表示0000至9999的年份,其中0000意为公元前1年,如同天文纪年。不过这并不完全适用于1583年之前的年份。标准规定“0000至1582的年份仅应在双方有共识时用于通信”。
若要表示前1年之前或9999年之后的年份,标准也允许通信双方达成共识后扩展表达方式。双方应事先规定增加的位数,并且年份前必须有正号“+”或负号“-”而不使用“AD/BC”或“CE/BCE”表示之。依据标准,若年份带符号,则前1年为“+0000”,前2年为“-0001”,依此类推。
月份和日期[编辑]
月份和日各使用两位数字表示。月份在01到12之间,日期在01到31之间。表示日期的基本格式为“YYYYMMDD”,扩展格式为“YYYY-MM-DD”。例如,1919年8月10日可以表示为“19190810”或“1919-08-10”。
标准也允许更低的精度。例如“1919-08”表示1919年8月(不可以表示为“191908”以防止有人理解为2019年19月8日),“1919”表示1919年,“191”表示二十世纪的第二个十年,“19”表示二十世纪。表示二十一世纪的某年时,ISO 8601:2000允许省去年份的前两位,形如“YYMMDD”,相当于“20YY-MM-DD”,但是ISO 8601:2004禁止了这种表示方式。
顺序日期表示法[编辑]
完全表示:可以将一年内的天的序数用3位数字表示,平年365天,闰年366天。如2004年5月3日可以表示为2004-124或2004124。
星期日历表示法[编辑]
使用年份和星期表示某一日期的格式形如YYYYWwwD或YYYY-Www-D,YYYY表示年份,其值与年月日格式中的年份略有差别;Www表示该日期所属星期是今年的第几个星期,范围在W01到W53之间;D表示该日是本星期的第几天,范围在1到7之间,每个星期以周一作为第一天。例如1926年8月17日可写成1926-W33-2或1926W332。
每年的第一个星期可以用如下方法决定:
- 本年度第一个星期四所在的星期;
- 1月4日所在的星期;
- 本年度第一个至少有4天在同一星期内的星期;
- 星期一在去年12月29日至今年1月4日以内的星期。
推理可得,如果1月1日是星期一、星期二、星期三或者星期四,它所在星期就是本年第一个星期;如果1月1日是星期五、星期六或星期日,则它所在星期就是上一年第52或者53个日历星期;12月28日总是在一年最后一个星期。
日历星期表示法[编辑]
可以用2位数表示本年内第几个日历星期,但日历星期前要加上一个大写字母W。 其他规定同星期日历表示法。
例如,如2004年第19个星期可写成:2004-W19或2004W19。
日期时间表示法[编辑]
只使用数字为基本格式。使用冒号“:”间隔开小时、分、秒的为扩展格式。小时、分和秒都用2位数表示。
对于当地时间15时27分46秒,
- 完全表示:152746或15:27:46
- 缺省小时的特定分和秒:-2746或-27:46
- 降低精度仅有小时和分:1528或15:28
- 缺省小时的特定分:-28
- 缺省日的特定小时:15
- 带有小数的当地时间的完全表示:152735.5或15:27:35.5
- 缺省小时的分,带有小数的秒:-2735.5或-27:35.5
- 午夜,一日的开始:完全表示为000000或00:00:00;仅有小时和分表示为0000或00:00
- 午夜,一日的终止:完全表示为240000或24:00:00;仅有小时和分表示为2400或24:00
- 如果时间在零时区,并恰好与协调世界时相同,那么(不加空格地)在时间最后加一个大写字母Z。Z是相对协调世界时时间0偏移的代号。如下午2点30分5秒表示为14:30:05Z或143005Z;只表示小时和分,为1430Z或14:30Z;只表示小时,则为14Z或14Z。
- 其他时区用实际时间加时差表示,当时的UTC+8时间表示为22:30:05+08:00或223005+0800,也可以简化成223005+08。
日期和时间的组合表示法[编辑]
合并表示时,要在时间前面加一大写字母T,如要表示东八区时间2004年5月3日下午5点30分8秒,可以写成2004-05-03T17:30:08+08:00或20040503T173008+08。
时间段表示法[编辑]
如果要表示某一作为一段时间间隔,前面加一大写字母P,但时间段后都要加上相应的代表时间的大写字母。如在一年三个月五天六小时七分三十秒内,可以写成P1Y3M5DT6H7M30S。
时间间隔表示法[编辑]
从一个时间开始到另一个时间结束,或者从一个时间开始持续一个时间间隔,要在前后两个时间(或时间间隔)之间放置斜线符“/”。格式为以下中的一种:
<起始时间>/<结束时间> <起始时间>/<时长> <时长>/<结束时间> <时长>
例如19850412/19860101,19850412/P6M。
循环时间表示法[编辑]
前面加上一大写字母R,格式为:
R【循环次数】【/开始时间】/时间间隔【/结束时间】
如要从2004年5月6日北京时间下午1点起时间间隔半年零5天3小时循环,且循环3次,可以表示为R3/20040506T130000+08/P0Y6M5DT3H0M0S。
如以1年2个月为循环间隔,无限次循环,最后循环终止于2025年1月1日,可表示为R/P1Y2M/20250101。
对应的各地标准[编辑]
- 中华民国国家标准CNS 7648《Template:仅繁简》与ISO 8601:2004等效采用。
- 中华人民共和国国家标准GB/T 7408-2005《Template:仅繁简》与ISO 8601:2000等效采用。
参考文献[编辑]
- ↑ 1.0 1.1 Template:Cite web
- ↑ 2.0 2.1 ISO 8601:2004[E] section 1 Scope
- ↑ 3.0 3.1 Template:Cite web
- ↑ 脚本错误:没有“citation/CS1”这个模块。
- ↑ Template:Cite book
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
- ↑ Template:Cite web
脚本错误:没有“Navbox”这个模块。 脚本错误:没有“Navbox”这个模块。