带零的Java.time.LocalTime

时间:2015-12-18 18:03:48

标签: java time

我有这个LocalTime格式化程序:

private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("H:m");

我只有一个H而且只有一个m,否则如果小时或分钟只有一个diget,我就会异常。 我现在的问题是如果小时或分钟只有一位数,如何添加零。这是我目前的代码:

final LocalTime localTime = 
  LocalTime.parse(duration.getStandardHours() + ":" + 
  (duration.getStandardMinutes() % 60), formatter);

1 个答案:

答案 0 :(得分:1)

您可以直接从小时/分钟创建LocalTime:

LocalTime time = LocalTime.of(duration.getStandardHours(),
                              duration.getStandardMinutes() % 60);

似乎Duration来自joda时间 - 在Java时间也有Duration所以你可能想切换到那个以保持一致性:

java.time.Duration duration = java.time.Duration.ofMinutes(67);
LocalTime time = LocalTime.of((int) duration.toHours(), (int) duration.toMinutes() % 60);
System.out.println("time = " + time); //01:07