這是DateTime的有效ISO 8601表示嗎?ISO 8601日期時間表示
20170704T09:30:00 + 0530
即是否可以使用兩者的基本和擴展格式的組合?還是應該只能爲這些:
20170704T093000 + 0530
2017-07-04T09:30:00 + 05:30
這是DateTime的有效ISO 8601表示嗎?ISO 8601日期時間表示
20170704T09:30:00 + 0530
即是否可以使用兩者的基本和擴展格式的組合?還是應該只能爲這些:
20170704T093000 + 0530
2017-07-04T09:30:00 + 05:30
In Wikipedia,它說,組合的日期和時間表示可以是基本格式或擴展格式,但日期和時間必須使用相同的格式。
在ISO 8601中,沒有提及混合表示 - 請參閱4.3.2中的示例。雖然我找不到關於混合格式的明確聲明,但在我看來,您不能在同一表示中混合使用基本格式和擴展格式。
話雖這麼說,我會說,像20170704T09:30:00+0530
的格式爲不在ISO 8601的有效
雖然ISO6801-2004不允許混合基本和擴展交涉,有一個在2004年的修訂沒有條款那會明確禁止這一點。
該問題將在ISO8601 [1]的下一版本中得到解決,該版本最終包含有效時間戳語法的Backus-Naur表單定義。
(* 4.3.2 Complete representations *)
dateTimeOfDayBasic = calendarDateBasic, "T", timeCompleteBasic,
[ "Z" | UTCoffsetBasic ] ;
dateTimeOfDayExt = calendarDateExt, "T", timeCompleteExt,
[ "Z" | UTCoffsetExt ] ;
[1]草案2016年10月26日:https://www.loc.gov/standards/datetime/ISO_DIS%208601-1.pdf
也就是它更好地使用rfc3339即擴展ISO 8601,而不是僅僅是基本的8601的日期時間表示? –
我認爲這取決於您正在使用的應用程序所接受的格式。實際上,RFC 3339是[ISO 8601「擴展名」](https://stackoverflow.com/a/522281/7605325),它接受日期和時間的完整表示,而ISO本身更加靈活。您必須檢查系統的要求並相應地進行選擇。 – 2017-07-02 13:00:47