将 iCalendar DateTime 转换为 Java 日期对象
Convert iCalendar DateTime to Java Date object
我有 UTC 格式的 iCalendar 日期时间值 20160217T121209Z。有人能告诉我如何解析并将其转换为 Java Date 对象,该对象也包含时间值吗?
更新:我的最终值,当我打印日期时必须是这样的:
2 月 17 日星期三12:12:092016 年欧洲中部时间
请不要忘记将尾随 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 参考的第二行。
这是将 iCalendar DateTime 转换为 Java 日期对象的方法。
假设 icalendar 日期为 20151217T174218Z.
String icalvalue = "20151217T174218Z";
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyyMMdd'T'HHmmss'Z'");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = null;
try {
date = dateFormat.parse(icalvalue);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);
我有 UTC 格式的 iCalendar 日期时间值 20160217T121209Z。有人能告诉我如何解析并将其转换为 Java Date 对象,该对象也包含时间值吗?
更新:我的最终值,当我打印日期时必须是这样的:
2 月 17 日星期三12:12:092016 年欧洲中部时间
请不要忘记将尾随 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 参考的第二行。
这是将 iCalendar DateTime 转换为 Java 日期对象的方法。 假设 icalendar 日期为 20151217T174218Z.
String icalvalue = "20151217T174218Z";
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyyMMdd'T'HHmmss'Z'");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = null;
try {
date = dateFormat.parse(icalvalue);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);