-1

我正在使用HH:mm格式在 java 中打印小时和分钟。它将以格式给出时间 05:1200:04. 但我的要求是获得个位数的小时数:

05:12 => 5:12
00:04 => 0:04  
10:18 => 10:18

下面我有我正在运行以生成日期的代码,

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class TestDateUtil {

    public static void main(String ar[]) {
        LocalTime time = LocalTime.now();
        String t = time.format(DateTimeFormatter.ofPattern("HH:mm"));
        System.out.println(t);  

    }
} 

我知道我可以使用字符串操作在 : 的基础上进行时间拆分,然后更改它,但这也需要更多我不想做的条件检查变化。有什么办法吗?

4

2 回答 2

6

文档DateTimeFormatter说:_

数字:如果字母数为 1,则使用最小位数输出值且不进行填充。否则,位数将用作输出字段的宽度,必要时将值补零。以下模式字母对字母数量有限制。只能指定一个字母“c”和“F”。最多可以指定两个字母“d”、“H”、“h”、“K”、“k”、“m”和“s”。最多可以指定三个字母“D”。

因此,只需将您的模式从 更改HH:mmH:mm

于 2021-07-09T17:47:07.603 回答
0
DateTimeFormatter.ofPattern("H:mm").format(LocalTime.now())
于 2021-07-09T17:45:48.663 回答