簡體   English   中英

如何從時間(小時)中刪除前導零

[英]How to remove leading zero from time(hours)

我希望從 1 到 9 的小時沒有前導零,但分鍾有零,同時還增加了 15 分鍾的時間。 現在,當我輸入 1 和 46 時,我得到 02:01,我想得到 2:01

Scanner scan = new Scanner(System.in);
int hour = scan.nextInt();
int minutes = scan.nextInt();
LocalTime time = LocalTime.of(hour , minutes);
time = time.plusMinutes(15);
System.out.println(time);

您可以使用格式為“H:mm”DateTimeFormatter https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.ZFC35FDC70D52C79

DateTimeFormatter.ofPattern("H:mm").format(LocalTime.now())

數字:如果字母數為 1,則值為 output,使用最小位數且無填充。 否則,位數將用作 output 字段的寬度,必要時將值補零。 以下模式字母對字母數量有限制。 只能指定一個字母“c”和“F”。 最多可以指定兩個字母“d”、“H”、“h”、“K”、“k”、“m”和“s”。 最多可以指定三個字母“D”。

當您直接打印time ,它使用LocalTimetoString()方法,該方法記錄為:

output 將是以下 ISO-8601 格式之一:

  • HH:mm
  • HH:mm:ss
  • HH:mm:ss.SSS
  • HH:mm:ss.SSSSSS
  • HH:mm:ss.SSSSSSSSS

使用的格式將是最短的輸出時間的完整值,其中省略的部分被暗示為零。

由於您希望小時不以零為前綴,因此您需要自己指定格式,方法是調用format(...)方法而不是toString()方法。

例如

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM