I'm trying to parse the time stamps written in some xml files. Most to the time time stamps are something like 2009-07-22-07:00 but some times I find them something like 2009-07-22Z or 2009-07-22z. Kindly help me how to interpret these Zs and how to parse them. I thing these z or Z is related to the time zone. Any workarounds to parse them just like the typical time stamps?
相关问题
- Delete Messages from a Topic in Apache Kafka
- Jackson Deserialization not calling deserialize on
- How to maintain order of key-value in DataFrame sa
- StackExchange API - Deserialize Date in JSON Respo
- Difference between Types.INTEGER and Types.NULL in
The
Z
means Zulu. You're correct, it does represent the time zone - specifically UTC.To add to fvu's answer: Java unfortunately does not have any built-in method to parse (or format ISO8601 date and time format, and even more unfortunately it is not (easily) possible to parse ISO8601 dates with
java.text.SimpleDateFormat
.The well-known and popular Joda Time library does have good support for ISO8601 dates and times.
Edit: Since Java 5, there are classes in the standard API to parse and format dates and times in the standard format often used in XML documents. To parse a date:
Likewise there are methods to format dates into strings. See the API documentation of those classes for details.
You're correct. The trailing character refers to the timezone.
The Z refers to the "Zulu" timezone, which is just shorthand for the UTC (or GMT) timezone.
You may also see a trailing +X or -X. These refer to the GMT offset for the timestamp. e.g.
2002-05-30+06:00
indicates that the time is GMT + 6 hours and zero minutes.XML uses ISO8601 time formats, so that standard is the first place to look for all things timerelated in XML.