代码之家  ›  专栏  ›  技术社区  ›  stevenvh

XML中的日期元素

  •  2
  • stevenvh  · 技术社区  · 16 年前

    <date>1984-10-27</date>
    

    <date>
      <year>1984</year>
      <month>10</month>
      <day>27</day>
    </date>
    

    此外,您无法验证像<这样的元素;日>独立:您可以定义[1..31]的范围,但如果<月份>是2。

    另一方面,第一个表单可能会导致混淆,特别是如果使用(FFF)MM-DD-YYYY或DD-MM-YYYY。我总是使用ISO8601格式(YYYY-MM-DD),因为它避免了这种混淆。

    您喜欢哪种XML代码?

    4 回复  |  直到 16 年前
        1
  •  6
  •   pawstrong    16 年前

    实践经验告诉我,最容易使用的日期值是自大纪元以来的秒数。该值可以跨所有语言移植,并且不区分时区(您的本地日期库将处理该值)。

    http://www.w3.org/TR/NOTE-datetime . 这是一种明确的国际通用格式。解析器适用于各种语言,通常是日期值的最佳文本表示形式。

        2
  •  3
  •   Community CDub    8 年前

    xml中的日期/时间标准要正式得多;大多数xml解析器都会考虑(例如):

    • 2009-02-15T10:20:34.0000000
    • 2009-02-15T10:20:34.0000000+00:00

    这始终是yyy-MM-dd;时间部分是可选的,UTC偏移也是可选的。

    (编辑: lucas-insasho 正确引用 spec )

        3
  •  2
  •   Robert Rossney    16 年前

    虽然我同意lucas insasho的观点,即从纪元开始的秒通常是最容易使用的日期/时间表示,但在XML中它通常不是最容易使用的。XSLT1.0无法有效地处理它,也无法使用XML模式验证它。

    当然,您可以根据需要用XML表示数据。但实际上,首先使用XML(而不是JSON或YAML等更轻量级的序列化格式)的唯一原因是为了获得标准化所带来的好处。

        4
  •  0
  •   Paxic    16 年前

    我投票支持分手。你问的第一个问题有什么问题?

    • 是那一天/月还是那一天/月…错误可能是人为的,也可能是机器的
    • 需要标记以获取日期信息
    • 您正在存储格式化(分隔符)字符