Ram*_*Ram 3 java datetime parsing
我正在尝试解析一些xml文件中写入的时间戳.大多数时间戳都像2009-07-22-07:00,但有时候我发现它们像2009-07-22Z或2009-07-22z.请帮助我解释这些Z以及如何解析它们.我认为这些z或Z与时区有关.解决它们的任何变通方法就像典型的时间戳一样?
要添加到fvu的答案:遗憾的是,Java没有任何内置的方法来解析(或格式化ISO8601的日期和时间格式,更不幸的是,不能(轻松)解析ISO8601日期java.text.SimpleDateFormat.
着名且受欢迎的Joda Time图书馆确实对ISO8601的日期和时间有很好的支持.
编辑:从Java 5开始,标准API中有一些类可以用XML文档中经常使用的标准格式来解析和格式化日期和时间.解析日期:
import java.util.Calendar;
import java.util.Date;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
// ...
String dateString = "..."; // wherever you get this from
XMLGregorianCalendar xcal = DatatypeFactory.newInstance().newXMLGregorianCalendar(dateString);
Calendar cal = xcal.toGregorianCalendar();
Date date = cal.getTime();
Run Code Online (Sandbox Code Playgroud)
同样,还有将日期格式化为字符串的方法.有关详细信息,请参阅这些类的API文档.
你说的没错.尾随字符指的是时区.
Z指的是"Zulu"时区,它只是UTC(或GMT)时区的简写.
您还可能会看到尾随+ X或-X.这些是指时间戳的GMT偏移量.例如,2002-05-30+06:00表示时间是GMT + 6小时和零分钟.
| 归档时间: |
|
| 查看次数: |
825 次 |
| 最近记录: |