如果未指定,XML架构dateTime的默认时区是什么?
我试图确定XML模式dateTime的默认时区是什么,如果它不是特定的。末尾的时区部分是可选的,可以省略:如果未指定,XML架构dateTime的默认时区是什么?,datetime,timezone,xsd,Datetime,Timezone,Xsd,我试图确定XML模式dateTime的默认时区是什么,如果它不是特定的。末尾的时区部分是可选的,可以省略: 2013-01-11T16:02:55 我在信中读到,时区在未指定的情况下是不确定的。我在评论中读到,如果未指定,默认值为UTC。我也通读了这篇文章,但没有给我一个明确的答案 有专家能告诉我这是在哪里指定的吗?一个未指定的时区正是-未指定的。不多也不少。它不是说它是UTC,也不是说它在本地时区或任何其他时区,它只是说从某个时钟读取的时间就是那个时间 它源于xs:dateTime这一事实根
2013-01-11T16:02:55
我在信中读到,时区在未指定的情况下是不确定的。我在评论中读到,如果未指定,默认值为UTC。我也通读了这篇文章,但没有给我一个明确的答案
有专家能告诉我这是在哪里指定的吗?一个未指定的时区正是-未指定的。不多也不少。它不是说它是UTC,也不是说它在本地时区或任何其他时区,它只是说从某个时钟读取的时间就是那个时间 它源于xs:dateTime这一事实根本不起作用。它只是一个ISO8601日期+时间(没有时区)值 这实际上取决于你如何处理这个值,以及它的实际含义 在现实世界中,在处理时间戳时,您可能应该避免这样的值——也就是说,某件事情发生的确切时刻。对于这些,您应该指定偏移量,如
-07:00
,或Z
,以指示UTC
如果未指定的值可能具有合法用途:
- 按重复模式安排未来事件时,并与时区配对(例如
)。有关详细信息,请参阅我的其他答案,以及美国/纽约
- 当提到“浮动”时间时,可能是在多个时区的不同瞬间。一个晚上7点开始的网络电视节目。美国东部会在美国西部之前看到它,但它仍然在每个区域的相同“浮动”时间播放
- 当其他机制已经知道时区,并且没有夏时制模糊的风险,或者当风险被接受并确定为无关紧要时
应用程序如何处理未分区的值,以及其他规范如何处理这些值,这是一个单独的问题,需要逐个应用程序和规范逐一回答。但出于XSD的目的,显然没有默认时区。对,我理解“未指定”的含义,但我首先尝试确认“如果未指定默认值,则为UTC”是正确的。我可以更深入地了解8601,但XML模式规范没有说它严格使用8601。例如,“本建议中描述的日期和时间数据类型受[ISO 8601]的启发。”有趣的是,about 8601说如果没有使用时间表示法给出UTC关系信息,则假定时间为当地时间。“维基百科文章中该特定句子中的措辞有点误导性。其右上方的句子更好:“……表示为当地时间(未指定位置)”。另一种思考方式是”“当地时间”与“当地时间”。换句话说,“当地时间”“这不一定意味着你的本地,它可能是其他人的本地。W3C XSD与ISO 8601不完全匹配,这一点你是正确的,但它确实严重依赖于它。规范中讨论了这一点,并说明了它是如何偏离的。我找不到它说UTC是默认值。根据ISO规范(ISO8601:2004E)第4.3.2节包含此位“如果使用当地时间,则区域指示器为空…”,第2.1.16节将“当地时间”定义为“当地适用的时间,如标准时间,或非基于UTC的时间”。同样,它没有说明它是谁的本地值-只是它是一个非UTC值,在本地适用于某个地方。