ISO 8601

国际标准ISO 8601，是國際標準化組織的日期和时间的表示方法，全称为《-{zh-cn:数据元和交换格式 信息交换 日期和时间表示法; zh-tw:資料元件及交換格式－資訊交換－日期及時間表示法;}-》。目前是2004年12月1日發行的第三版「ISO8601:2004」以替代1998年的第一版「ISO8601:1998」與2000年的第二版「ISO8601:2000」。

基本原則
時間日期按照年月日時分秒的順序排列，大時間單位在小時間單位之前。除了公元前的時刻外，用本標準表示的兩個時刻中較早者在字典序上先於較晚者。這個特性有利於按時間排序。
每個時間單位的位數固定，不足時于左補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"表示1910年代，"19"表示二十世紀。表示二十一世紀的某年時，可以省去年份的前兩位，形如"YYMMDD"，相當於"20YY-MM-DD"。

顺序日期表示法 
完全表示：可以将一年内的天的序数用3位数字表示，平年365天，闰年366天。如2004年5月3日可以表示为2004-124或2004124。

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

第一个日历星期有以下四种等效说法：
1，本年度第一个星期四所在的星期；
2，1月4日所在的星期；
3，本年度第一个至少有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，格式为：

如要从2004年5月6日北京时间下午1点起时间间隔半年零5天3小时循环，且循环3次，可以表示为R3/20040506T130000+08/P0Y6M5DT3H0M0S。

如以1年2个月为循环间隔，无限次循环，最后循环终止于2025年1月1日，可表示为R/P1Y2M/20250101

對應的各地標準 

 中華民國國家標準CNS 7648《資料元件及交換格式－資訊交換－日期及時間表示法》與ISO 8601:2004等效採用。
 中华人民共和国国家标准GB/T 7408-2005《数据元和交换格式 信息交换 日期和时间表示法》与ISO 8601:2000等效采用。

参考文献 

08601
时间标准
日历标准
日期與時間表示