Java 如何从时间(小时)中删除前导零

Java 如何从时间(小时)中删除前导零,java,time,zero,hour,Java,Time,Zero,Hour,我想让时间从1到9,不带前导零,但分钟带零,同时还要加上15分钟。 现在,当我输入1和46时,我得到02:01,我想得到2:01 Scanner scan=新的扫描仪(System.in); int hour=scan.nextInt(); int minutes=scan.nextInt(); LocalTime time=LocalTime.of(小时,分钟); 时间=时间加总(15); 系统输出打印LN(时间); 您可以使用格式为“H:mm”的DateTimeFormatter 数字:如

我想让时间从1到9,不带前导零,但分钟带零,同时还要加上15分钟。 现在,当我输入1和46时,我得到02:01,我想得到2:01

Scanner scan=新的扫描仪(System.in);
int hour=scan.nextInt();
int minutes=scan.nextInt();
LocalTime time=LocalTime.of(小时,分钟);
时间=时间加总(15);
系统输出打印LN(时间);

您可以使用格式为“H:mm”的DateTimeFormatter

数字:如果字母数为1,则使用最小位数输出值,且无填充。否则,数字计数用作输出字段的宽度,并根据需要填充值零。以下图案字母对字母数量有限制。只能指定一个字母“c”和“F”。最多可以指定两个字母“d”、“H”、“H”、“K”、“K”、“m”和“s”。最多可以指定三个字母“D”


当您直接打印时间时,它使用的方法如下:

输出将是以下ISO-8601格式之一:

  • HH:mm
  • HH:mm:ss
  • HH:mm:ss.SSS
  • HH:mm:ss.SSSSSS
  • HH:mm:ss.ssss
所使用的格式将是最短的,用于输出省略部分暗示为零的时间的完整值

由于希望小时的前缀不为零,因此需要自己指定格式,方法是调用该方法而不是
toString()
方法

例如

DateTimeFormatter.ofPattern("H:mm").format(LocalTime.now())
System.out.println(time.format(DateTimeFormatter.ofPattern("H:mm")));