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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/24533484/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-14 12:46:45  来源:igfitidea点击:

How to convert java.util.Date to GMT format

java

提问by user3798050

I have a string "2014-07-02T17:12:36.488-01:00" which shows the Mountain time zone. I parsed this into java.util.date format. Now I need to convert this to GMT format. Can anyone help me??

我有一个字符串“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));

回答by Jesper

There are a few problems in your code. For example, the format string doesn't match the actual format of the string you are parsing.

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

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));

To print the current date in whatever timezone you like, set the timezone you want to use on the SimpleDateFormatobject. For example:

要以您喜欢的任何时区打印当前日期,请设置要在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));