如何将java.util.Date转换为GMT格式

时间:2014-07-02 14:16:03

标签: java

我有一个字符串" 2014-07-02T17:12:36.488-01:00"它显示了山区时区。我将其解析为java.util.date格式。现在我需要将其转换为GMT格式。任何人都可以帮助我吗?

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
    Object dd = null;
    try {
         dd=sdf.parseObject("2014-07-02T17:12:36.488-01:00");
        System.out.println(dd);
    } catch (ParseException e) {
        e.printStackTrace();`enter code here`
    }
    SimpleDateFormat gmtDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    gmtDateFormat.setTimeZone(java.util.TimeZone.getTimeZone("GMT"));
System.out.println("Current Date and Time in GMT time zone:+ gmtDateFormat.format(dd));

1 个答案:

答案 0 :(得分:3)

您的代码中存在一些问题。例如,格式字符串与您要解析的字符串的实际格式不匹配。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");
Object dd = null;
try {
    dd = sdf.parse("2014-07-02T17:12:36.488-01:00");
    System.out.println(dd);
} catch (ParseException e) {
    e.printStackTrace();
}

SimpleDateFormat gmtDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssX");
gmtDateFormat.setTimeZone(java.util.TimeZone.getTimeZone("GMT"));

System.out.println("Current Date and Time in GMT time zone:" + gmtDateFormat.format(dd));

要在您喜欢的任何时区打印当前日期,请在SimpleDateFormat对象上设置要使用的时区。例如:

// Create a Date object set to the current date and time
Date now = new Date();

DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println("Current date and time in GMT: " + df.format(now));

df.setTimeZone(TimeZone.getTimeZone("IST"));
System.out.println("Current date and time in IST: " + df.format(now));