Datetime ISO 8601日期时间表示法

Datetime ISO 8601日期时间表示法,datetime,calendar,iso8601,Datetime,Calendar,Iso8601,这是日期时间的有效ISO 8601表示形式吗 20170704T09:30:00+0530 i、 e.是否可以同时使用基本格式和扩展格式?或者只应是以下两种情况之一: 20170704T093000+0530 2017-07-04T09:30:00+05:30 ,它表示日期和时间的组合表示可以是基本格式或扩展格式,但日期和时间必须使用相同的格式 在中,也没有提到混合表示法-请看4.3.2节中的示例。虽然我找不到关于混合格式的明确声明,但在我看来,基本格式和扩展格式不能在同一个表示中混合 话虽如此

这是日期时间的有效ISO 8601表示形式吗

20170704T09:30:00+0530

i、 e.是否可以同时使用基本格式和扩展格式?或者只应是以下两种情况之一:

20170704T093000+0530
2017-07-04T09:30:00+05:30

,它表示日期和时间的组合表示可以是基本格式或扩展格式,但日期和时间必须使用相同的格式

在中,也没有提到混合表示法-请看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:

同样,使用rfc3339,即扩展iso 8601,而不仅仅是基本的8601来表示日期时间是否更好?我认为这取决于您正在使用的应用程序所接受的格式。事实上,RFC3339是一个标准,它接受日期和时间的完整表示,而ISO本身更灵活。您必须检查系统的要求并进行相应的选择。