Java日期格式时间戳
我正在尝试使用转换日期和时间戳Java日期格式时间戳,java,simpledateformat,date-formatting,Java,Simpledateformat,Date Formatting,我正在尝试使用转换日期和时间戳 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 S
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();
}
}
在这里,它从IST转换为EDT,提前4小时。那么对于最后一次迭代,为什么12个小时的时间相差13个小时呢 格式化程序声明中有错误 您已配置的内容: DateFormat df=新的简化格式(“yyyy-MM-dd'T'hh:MM:ssZ”) 为达到您的预期结果,应采取以下措施:
DateFormat df=新的简化格式(“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 06 08:52:38 EDT 2020
什么时候是24:52:38?您使用的是a吗?在上述问题的最后一句中,我想您的意思是“UTC到EDT”,相差4小时。我建议您不要使用
日期
、日期格式
和简化格式
。这些类的设计很糟糕,而且早已过时,尤其是后两个类的设计非常麻烦。而是使用OffsetDateTime
和DateTimeFormatter
,两者都来自。
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 06 08:52:38 EDT 2020