我正在尝试将XMLGregorian日历转换为GMT中的java.util.Date。但是以下方法给出了相同的日期。它无法转换日期。你能看一下下面的代码并告诉我我做错了吗?
try {
SimpleDateFormat dateFormatGmt = new SimpleDateFormat("yyyy-MMM-dd HH:MM");
dateFormatGmt.setTimeZone(TimeZone.getTimeZone("UTC"));
return dateFormatGmt.parse(dateFormatGmt.format(date));
} catch (ParseException e) {
e.printStackTrace();
return null;
}
答案 0 :(得分:0)
避免使用java.time类取代的麻烦的旧日期时间类。
将XMLGregorianCalendar
对象转换为java.util.GregorianCalendar
。从那里到java.time.ZonedDateTime
。从那里到java.time.Instant
,它始终是UTC(基本上是新的GMT)。
GregorianCalendar gc = myXgc.toGregorianCalendar() ;
ZonedDateTime zdt = gc.toZonedDateTime() ;
Instant instant = zdt.toInstant() ;
如果您必须拥有java.util.Date
,请使用添加到旧类的新方法进行转换。
java.util.Date d = Date.from( instant ) ;
搜索Stack Overflow以获取更多信息。您的问题实际上与许多其他问题重复。