2022年11月10号下午12:00:00
1 正确代码示例
public static void main(String[] args) throws ParseException {
String releaseTime = "11/10/2022 12:00:00 PM";
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss aa",Locale.ENGLISH);
Date releaseTimeDate = sdf.parse(releaseTime);
System.out.println(releaseTimeDate);
releaseTime = DateFormatUtils.formatDateSecond(releaseTimeDate);
System.out.println(releaseTime);
}
输出结果为:
Thu Nov 10 12:00:00 CST 2022
2022-11-10 12:00:00
2 错误代码示例
public static void main(String[] args) throws ParseException {
String releaseTime = "11/10/2022 12:00:00 PM";
SimpleDateFormat sdf = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss aa",Locale.ENGLISH);
Date releaseTimeDate = sdf.parse(releaseTime);
System.out.println(releaseTimeDate);
releaseTime = DateFormatUtils.formatDateSecond(releaseTimeDate);
System.out.println(releaseTime);
}
输出结果:
Mon Jan 10 12:00:00 CST 2022
2022-01-10 12:00:00
可见11月份变成了1月份,而问题就出在"mm/dd/yyyy hh:mm:ss aa"里的mm是小写的。
本文通过两个代码示例展示了在使用SimpleDateFormat进行日期解析时,字母`mm`和`MM`的区别。错误地使用`mm`会导致11月被错误解析为1月。正确格式`MM/dd/yyyyhh:mm:ssaa`确保了月份的正确解析,而错误格式`mm/dd/yyyyhh:mm:ssaa`则引发了日期错误。这个例子强调了在处理日期格式时精确性的关键性。
2434

被折叠的 条评论
为什么被折叠?



