在IST中转换UTC时间

时间:2017-10-16 06:53:56

标签: java android

我必须将2017-10-12T09:48:28.338Z转换为IST,即dd-MM-yyyy HH:mm:ss。我使用的代码抛出java.lang.IllegalArgumentException: Unknown pattern character 'Y'

这是我的代码:

private String getStandardTime(String dateStr) {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dddd'T'HH:mm:ss.SSSZ");
        df.setTimeZone(TimeZone.getTimeZone("UTC"));
        Date date = null;
        try {
            date = df.parse(dateStr);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        df.setTimeZone(TimeZone.getDefault());
        String formattedDate = df.format(date);
        return formattedDate;
    }

任何人都可以帮助我吗?我做错了什么。 作为参考,我检查了

http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#number

1 个答案:

答案 0 :(得分:0)

尝试在代码中使用以下行:

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

Z表示时区字符,您必须引用它,如Z' Z'。你也使用dddd代替dd。