如何在GMT(Greenwich)时间

时间:2017-08-15 06:43:37

标签: java date calendar gmt

我正在尝试将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;
    }

1 个答案:

答案 0 :(得分:0)

java.time

避免使用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以获取更多信息。您的问题实际上与许多其他问题重复。