我正在尝试解析一些xml文件中写入的时间戳。大多数时间戳都是 2009-07-22-07:00 ,但有时我发现它们像 2009-07-22Z 或 2009 -07-22z 。请帮助我解释这些Z以及如何解析它们。我认为这些z或Z与时区有关。解析它们的解决方法就像典型的时间戳一样吗?
答案 0 :(得分:7)
添加到fvu的答案:遗憾的是,Java没有任何内置方法可以解析(或格式化ISO8601的日期和时间格式,更不幸的是,用{{1}解析ISO8601日期并不是(很容易) }。
众所周知且受欢迎的Joda Time库确实对ISO8601的日期和时间有很好的支持。
编辑:从Java 5开始,标准API中有一些类可以用XML文档中经常使用的标准格式来解析和格式化日期和时间。解析日期:
java.text.SimpleDateFormat
同样,有一些方法可以将日期格式化为字符串。 有关详细信息,请参阅这些类的API文档。
答案 1 :(得分:5)
Z
表示祖鲁语。你是对的,它确实代表了时区 - 特别是UTC。
答案 2 :(得分:5)
你是对的。尾随字符是指时区。
Z指的是“Zulu”时区,它只是UTC(或GMT)时区的缩写。
您可能还会看到尾随+ X或-X。这些是指时间戳的GMT偏移量。例如2002-05-30+06:00
表示时间是GMT + 6小时和零分钟。
答案 3 :(得分:1)