无法将UTC日期时间解析为EST当地时间

无法将UTC日期时间解析为EST当地时间

本文介绍了无法将UTC日期时间解析为EST当地时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!

在将UTC日期时间解析为EST当地时间时遇到以下异常.

Getting following exception while parsing UTC date time to EST local time.

例外:

Stacktrace:] with root cause
 java.text.ParseException: Unparseable date: "2016-09-09T03:00:29Z"
    at java.text.DateFormat.parse(DateFormat.java:357)
    at com.study.crud.util.GenericUtils.convertUTCDateToEST(GenericUtils.java:55)

GenericUtils.java

public static String convertUTCDateToEST(String utcDate) throws ParseException {
        SimpleDateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.US);
        inFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
        Date aDate = inFormat.parse(utcDate);

        DateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd HH:MI:SS");
        outFormat.setTimeZone(TimeZone.getTimeZone("EST"));
        String estDate = outFormat.format(aDate);

        return estDate;
    }

在此处 java找到了类似的东西.text.ParseException:无法解析的日期"yyyy-MM-dd'T'HH:mm:ss.SSSZ"-SimpleDateFormat 并尝试了在那里提出的解决方案,但是没有用.

Found some similar stuff on SO here java.text.ParseException: Unparseable date "yyyy-MM-dd'T'HH:mm:ss.SSSZ" - SimpleDateFormat and tried solutions proposed there but did not work.

推荐答案

输入格式有误.您已将毫秒指定为格式.SSS的输入,然后是区域Z.

There is a error in the input format. You have specified milli seconds as an input to your format .SSS and then the zone Z.

但是,您还没有通过毫秒选项.以下格式有效

You have however not passed the milli second option. The following format works

SimpleDateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");

这篇关于无法将UTC日期时间解析为EST当地时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-06 15:34