我有 UTC 格式的 iCalendar DateTime 值 20160217T121209Z。谁能告诉我如何解析并将其转换为 Java Date 对象,该对象也包含时间值?
更新:我的最终值,当我打印日期时必须是这样的:
2016 年 2 月 17 日星期三 12:12:09 CET
最佳答案
请不要忘记将尾随 Z 解释为 UTC+00:00,这是 ISO-8601 标准。
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
java.util.Date d = sdf.parse("20151217T174218Z");
System.out.println(d); // output in your system timezone using toString()
如果您使用的是 Java-7 或更高版本,您还可以使用模式“yyyyMMdd'T'HHmmssX”并省略设置 UTC 引用的第二行。
关于java - 将 iCalendar DateTime 转换为 Java Date 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35454767/