单独可用的时分秒到 HH:mm:ss 格式
Individually available Hour Minute Seconds to HH:mm:ss format
我有一个单独存储小时、分钟、秒的对象。
public static class ETA {
private int hours; // 2 (single or double digit 24 hour format)
private int minutes; // 0 (single or double digit)
private int seconds; // 0 (single or double digit)
// getters.. setters..
}
我需要将这段时间保存到一个 csv 文件中,其中包含正确的字符串 "02:00:00"
,格式为 HH:mm:ss
和 NOT as "2:0:0"
;
我尝试使用 StringBuilder append() 方法,但得到的代码非常混乱。这是我尝试过的...
ETA e = new ETA();
StringBuilder time = new StringBuilder();
if (e.getHour() < 10) {
time.append("0" + e.getHour());
} else {
time.append(e.getHour());
}
// similarly for minute and seconds, and then returned time.
我觉得不太好。那么我应该如何以更好的方式处理它?
像这样:
String.format("%02d:%02d:%02d", e.getHours(), e.getMinutes(), e.getSeconds())
如果您想使用该模式,您可以先将 ETA
转换为 LocalTime
,然后使用 DateTimeFormatter
进行格式化:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime t = LocalTime.of(5, 12, 42); //use your getters here
String s = formatter.format(t);
System.out.println(s);
这个也会验证日期,即如果其中一个值超出范围,它会抛出 java.time.DateTimeException
。
输出:
05:12:42
我有一个单独存储小时、分钟、秒的对象。
public static class ETA {
private int hours; // 2 (single or double digit 24 hour format)
private int minutes; // 0 (single or double digit)
private int seconds; // 0 (single or double digit)
// getters.. setters..
}
我需要将这段时间保存到一个 csv 文件中,其中包含正确的字符串 "02:00:00"
,格式为 HH:mm:ss
和 NOT as "2:0:0"
;
我尝试使用 StringBuilder append() 方法,但得到的代码非常混乱。这是我尝试过的...
ETA e = new ETA();
StringBuilder time = new StringBuilder();
if (e.getHour() < 10) {
time.append("0" + e.getHour());
} else {
time.append(e.getHour());
}
// similarly for minute and seconds, and then returned time.
我觉得不太好。那么我应该如何以更好的方式处理它?
像这样:
String.format("%02d:%02d:%02d", e.getHours(), e.getMinutes(), e.getSeconds())
如果您想使用该模式,您可以先将 ETA
转换为 LocalTime
,然后使用 DateTimeFormatter
进行格式化:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalTime t = LocalTime.of(5, 12, 42); //use your getters here
String s = formatter.format(t);
System.out.println(s);
这个也会验证日期,即如果其中一个值超出范围,它会抛出 java.time.DateTimeException
。
输出:
05:12:42