在 SimpleDateFormat 中使用 a 和 aaa 有什么区别

jif*_*joy 2 java formatting datetime simpledateformat

我想将当前日期显示为 00:50:32 A

这是我的代码

Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss a");
String time = sdf.format(date);
System.out.println("time : " + time);
Run Code Online (Sandbox Code Playgroud)

但它打印为:

time : 00:50:32 AM
Run Code Online (Sandbox Code Playgroud)

我尝试了HH:mm:ss aHH:mm:ss aaa,但结果是一样的。

Vla*_*hev 5

做不到!如果模式为 4 个字母或更少,则使用短格式。所以“a”、“aa”、“aaa”和“aaaa”是相同的。

您所能做的就是在没有“a”的情况下对其进行格式化,然后手动添加“A”或“P”。

话虽如此,使用“HH”(24 小时制)为什么需要 AM/PM?