如何在Java中自定义HH:mm格式
我正在使用HH:mm格式在 java 中打印小时和分钟。它会给格式的时间
05:12,00: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);
}
}
我知道我可以使用字符串操作在 : 的基础上进行时间分割,然后改变它,但这也需要更多的条件检查变化,我不想这样做。有什么办法吗?
回答
该文档的DateTimeFormatter说:
数字:如果字母数为1,则使用最小位数输出该值,不填充。否则,将使用数字计数作为输出字段的宽度,并根据需要填充零值。以下模式字母对字母数有限制。只能指定一个字母 'c' 和 'F'。最多可以指定两个字母“d”、“H”、“h”、“K”、“k”、“m”和“s”。最多可以指定三个字母“D”。
因此,只需将您的模式从 更改HH:mm为H:mm。