我遇到了这个程序的问题。我输入AM时间和PM时间。然而,当我到达12点钟时,一切都搞砸了。它一直在增加13,14,15等。有没有办法可以设置13 = 1,14 = 2,15 = 3等?
String format = "HH:mm:ss a";
SimpleDateFormat time = new SimpleDateFormat(format, Locale.US);
System.out.println("enter what time first person is leaving");
int leaving1 = in.nextInt();
System.out.println("enter if 1(am) 2(pm)");
int ampm = in.nextInt();
if (ampm == 1 && ampm2 == 2){
while (leaving1 <= 12){
sametime++;
}
leaving1 = leaving1+sametime-12;
System.out.println(leaving1);
答案 0 :(得分:0)
您的时间格式不正确。
根据SimpleDateFormat
的文档,HH:mm:ss a
将始终以24小时制表示法生成时间格式,因为H
适合输出24小时时间值。
修复很简单:将其更改为小写h。如果你想要1到10之间的前导零,请使用两个。
String format = "h:mm:ss a";
或:
String format = "hh:mm:ss a";