【发布时间】:2014-12-05 09:48:43
【问题描述】:
final String sourceDate = "05.12.2014 12:17";
final String testDate = "05.12.2014 13:17";
final SimpleDateFormat originalSDF = new SimpleDateFormat("dd.MM.yyyy hh:mm");
final SimpleDateFormat testSDF = new SimpleDateFormat("dd.MM.yyyy HH:mm");
System.out.println(originalSDF.parse(sourceDate).toString());
System.out.println(testSDF.parse(sourceDate).toString());
System.out.println("=====================");
System.out.println(originalSDF.parse(testDate).toString());
System.out.println(testSDF.parse(testDate).toString());
输出将是:
Fri Dec 05 00:17:00 GMT 2014
Fri Dec 05 12:17:00 GMT 2014
=====================
Fri Dec 05 13:17:00 GMT 2014
Fri Dec 05 13:17:00 GMT 2014
为什么在所有时间这种格式的工作方式都相同,但在 12:* 下工作方式不同,hh:mm 解析为 12h 格式,HH:mm 解析为 24h 格式?
【问题讨论】:
-
Date Difference in java 的可能重复项,请参阅已接受的答案
-
UNICODE standard 声明“HH”表示 24 小时制,而“hh”表示 12 小时制。
标签: java simpledateformat date-parsing