【发布时间】:2018-03-22 23:16:58
【问题描述】:
我正在尝试用 Java 编写一个程序来比较时间并按顺序显示它们。一切正常,除了如果有人输入例如 10 小时和 9 分钟,它会打印为“10:9”。
我希望每个数字在打印时前面都有一个 0。 h 变量代表小时,m 变量代表分钟
System.out.printf("First time: %02d" , h1 , ":%02d" , m1 , "\nSecond time: %02d" , h2 , ":%02d" , m2);
【问题讨论】:
-
如果是一天中的时间,请使用 java.time(现代 Java 日期和时间 API)中的
LocalTime类。它的toString方法会生成一个类似10:09的字符串(假设它的秒数为0,我认为它们会在你的情况下)。如果您的时间是时间量或持续时间,请使用Duration类,但保留您自己的格式逻辑。