Java日期格式时间戳记

问题描述 投票:0回答:1

我正在尝试使用转换日期和时间戳。

public static void main(String args[]) {
list.add("2020-04-06T00:52:38+0000");
        list.add("2020-04-06T24:52:38+0000");
        list.add("2020-04-06T12:52:38+0000");

        Date createdTime = null;
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");
        try {
             for (i =0; i < list.size(); i++) {
                    createdTime = df.parse(list.get(i));
                    System.out.print(i + " : "  + "Media Created_on : " + createdTime + "\n"); 
             }
        } catch (ParseException e) {
            e.printStackTrace();
        }
}

输出:

0 : Media Created_on : Sun Apr 05 20:52:38 EDT 2020
1 : Media Created_on : Mon Apr 06 20:52:38 EDT 2020
2 : Media Created_on : Sun Apr 05 20:52:38 EDT 2020

这里将它从IST转换为EDT,提前4小时。那么对于最后一次迭代,为什么12个小时相差13个小时呢?

java simpledateformat date-formatting
1个回答
0
投票

格式化程序声明中存在错误。

您配置的内容

DateFormat df = new SimpleDateFormat(“ yyyy-MM-dd'T'hh:mm:ssZ”);

达到预期效果应该是什么:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");

注意,小时应该是HH而不是hh

然后结果将是:

0 : Media Created_on : Sun Apr 05 20:52:38 EDT 2020
1 : Media Created_on : Mon Apr 06 20:52:38 EDT 2020
2 : Media Created_on : Sun Apr 05 18:22:38 IST 2020
© www.soinside.com 2019 - 2024. All rights reserved.