Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的AM和PM帮助_Java - Fatal编程技术网

java中的AM和PM帮助

java中的AM和PM帮助,java,Java,我在这个程序上遇到了问题。我输入上午时间和下午时间。然而,当我到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");

我在这个程序上遇到了问题。我输入上午时间和下午时间。然而,当我到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&&m2==2){

而(leaving1您的时间格式不正确

根据的文档,
HH:mm:ss a
将始终以24小时表示法生成时间格式,因为
H
用于输出24小时时间值

解决方法很简单:将它改为小写的h。如果你想在1到10之间的小时内使用前导零,请使用2

String format = "h:mm:ss a";
或:


这听起来像是在使用24小时表示法,它废除了AM和PM。您必须向我们提供您的代码示例,以便我们能够获得更好的图片,尽管我觉得PSR的答案可能会对您有所帮助。即使它以24小时时钟格式存储,也不用担心,您可以使用Simp将其转换为12小时时钟leDateFormat。但请确保SimpleDateFormat应该在方法中本地初始化,因为它不是线程安全的。我添加了一些示例代码@Makotowhy't leaving1 print out?(在第二个代码段中)why't leaving1 print out?(在第二个代码段中)这不是我要回答的问题……看起来你有点偷偷地把它带了进来。但是,你有一个无限循环。如果你要在循环中使用它,你最好弄清楚为什么不更新
leaving1
。leaving1是我输入的一个数
String format = "h:mm:ss a";
String format = "hh:mm:ss a";