如何将UTC日期时间转换并格式化为本地时间

Nit*_*tal 1 java datetime

我的程序将UTC时间转换为本地时间,但不是我想要的格式.我从以下链接中将示例转换为当前的区域设置时间

 public static void main(String[] args) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
        Date myDate = simpleDateFormat.parse("2015-08-19 05:30:00.049 UTC+0000");
        System.out.println("**********myDate:" + myDate);
    }
Run Code Online (Sandbox Code Playgroud)

输出:

**********myDate:Wed Aug 19 01:30:00 EDT 2015
Run Code Online (Sandbox Code Playgroud)

我期望的输出格式是:

2015-08-19 01:00:14
Run Code Online (Sandbox Code Playgroud)

请指教.

dsh*_*dsh 6

您已成功将文本解析为日期:

Date myDate = simpleDateFormat.parse("2015-08-19 05:30:00.049 UTC+0000");
Run Code Online (Sandbox Code Playgroud)

但是,您继续打印myDate.toString().

System.out.println("**********myDate:" + myDate);
Run Code Online (Sandbox Code Playgroud)

您不会以这种方式获得预期的格式.使用(另一个)SimpleDateFormat格式化myDate您想要的方式

final SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm")
outputFormat.setTimeZone(TimeZone.getTimeZone("EDT"));
System.out.println("**********myDate:" + ouputFormat.format(myDate));
Run Code Online (Sandbox Code Playgroud)