目录

ISO 8601规则

原文:ISO 8601规则

作者:威本联萌治愈的一天

定义

国际标准化组织的国际标准ISO 8601是日期和时间的表示方法,全称为《数据存储和交换形式·信息交换·日期和时间的表示方法》。目前最新为第三版ISO8601:2004,第一版为ISO8601:1988,第二版为ISO8601:2000。

意义

比如 2020-1-1.这天不知道你是该记为 2020年的第0周,还是第一周。而且周日到底是每周的第1天,或者是第0天,或者是周一才是每周的第1天,周日是第7天。总之,各个国家和地区都有不同的统计方式,而且中国古代历法根本就没有周的概念,也就是说周对于我们来说是个舶来品。统计方式每个人和组织都有不同的见解,虽然有国家标准,鲜有人去统一执行。

由此,国际化标准组织的国际标准ISO 8601 对日期和时间的表示方法做出了明确规定周数的计算方式也做了详细的说明,包括中国在内的国家标准 GB/T 7408-2005 都是依据该标准扩展而来。

周数的计算规则

  • 每年有52周或者53周
  • 周一至周日为一个完整周。
  • 每周的周一是该周的第1天。周日是该周的第7天
  • 每年的第一周 为 每年的第一个周四所在的周。比如 2020年1月2日为2020年的第一个周四,那么 2019-12-30 至 2020-01-05为2020年第一周
  • 每年的最后一周为当年最后一个周四所在的周。比如2019年12月26日为2019年的最后一个周四,那么2019-12-23 至2019-12-29 为2019年的最后一周。
  • 周年,当前周所在的年份为周年。比如 2020年1月1日的周年为2019年。2017年1月1日的周年为2016年;2016年1月1日,2016年1月2日,2016年1月3日的周年均为2015年。

日期和时间的表示方法

  • 日期表示法

    年由4位数组成,以公历公元1年为0001年,以公元前1年为0000年,公元前2年为-0001年,其他以此类推。应用其他纪年法要换算成公历,但如果发送和接受信息的双方有共同一致同意的其他纪年法,可以自行应用。

  • 日历日期表示法

    年为4位数,月为2位数,月中的日为2位数,例如2004年5月3日可写成2004-05-03或20040503。

  • 顺序日期表示法

    可以将一年内的天数直接表示,平年365天,闰年366天。如2004年5月3日可以表示为2004-157或2004157

  • 日历星期和日表示法

    可以用2位数表示本年内第几个日历星期,再加上一位数表示日历星期内第几天,但日历星期前要加上一个大写字母W,如2004年5月3日可写成2004-W17-3或2004W173。但2004-W011是从2004年1月5日开始的,前几天属于上年的第54个日历星期,每个日历星期从星期一开始,星期日为第7天。

  • 日的时间表示法

    小时、分和秒都用2位数表示,对UTC时间最后加一个大写字母Z,其他时区用实际时间加时差表示。如UTC时间下午2点30分5秒表示为14:30:05Z或143005Z,当时的北京时间表示为22:30:05+08:00或223005+0800,也可以简化成223005+08。

  • 日期和时间的组合表示法

    合并表示时,要在时间前面加一大写字母T,如要表示北京时间2004年5月3日下午5点30分8秒,可以写成2004-05-03T17:30:08+08:00或20040503T093008+08。

  • 时间段表示法

    如果要表示某一作为一段时间的时间期间,前面加一大写字母P,但时间段后都要加上相应的代表时间的大写字母。如在一年三个月五天六小时七分三十秒内,可以写成P1Y3M5DT6H7M30S。

  • 重复时间表示法

    前面加上一大写字母R,如要从2004年5月6日北京时间下午1点起重复半年零5天3小时,要重复3次,可以表示为R3/20040506T130000+08/P0Y6M5DT3H0M0S。

对应的各地标准

中华人民共和国国家标准GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO8601:1988等效采用。

中华民国《中国国家标准》CNS 7648《资料元及交换格式·资讯交换·日期及时间的表示法》与ISO8601类似,可用公元年,也可冠以大写R.O.C.字母用民国纪元。例如,2004年(中华民国九十三年)5月3日可写作2004-05-03或R.O.C.93-05-03。

日本工业规格JIS X 0301:2002与ISO8601:2000对应,但有修改。该标准写日期时用圆点(.)但非短横(-),可用公元年,也可对四种日本年号使用字首:

明治(Meiji)可冠以M或明,自1868.01.01(同M01.01.01或明01.01.01)起至1912.07.30(同M45.07.30或明45.07.30)止。

大正(Taisho)可冠以T或大,自1912.07.30(同T01.07.30或大01.07.30)起至1926.12.25(同T15.12.25或大15.12.25)止。

昭和(Showa)可冠以S或昭,自1926.12.25(同S01.12.25或昭01.12.25)起至1989.01.07(同S64.01.07或昭64.01.07)止。

平成(Heisei)可冠以H或平,自1989.01.08(同H01.01.08或平01.01.08)起至今。