慕標(biāo)琳琳
2022-05-21 18:35:21
我有一個(gè)單獨(dú)存儲(chǔ)小時(shí)、分鐘、秒的對(duì)象。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..}我需要將這段時(shí)間保存到一個(gè)帶有正確字符串的 csv 文件中"02:00:00",格式為HH:mm:ss and 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.這對(duì)我來說似乎不太好。那么我應(yīng)該如何以更好的方式處理它呢?
2 回答

慕尼黑8549860
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
像這樣的東西:
String.format("%02d:%02d:%02d", e.getHours(), e.getMinutes(), e.getSeconds())

蝴蝶不菲
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果您想使用該模式,您可以先將您的轉(zhuǎn)換ETA為LocalTime并使用 aDateTimeFormatter進(jìn)行格式化:
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);
這也驗(yàn)證日期,即java.time.DateTimeException如果其中一個(gè)值超出范圍,它會(huì)拋出。
輸出:
05:12:42
添加回答
舉報(bào)
0/150
提交
取消