我正在尝试使用转换日期和时间戳。
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个小时呢?
格式化程序声明中存在错误。
您配置的内容
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