我有一個單獨存儲小時、分鐘、秒的對象。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 and NOT as "2:0:0";我嘗試使用 StringBuilder append() 方法,但提出了非?;靵y的代碼。這是我嘗試過的...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.這對我來說似乎不太好。那么我應該如何以更好的方式處理它呢?
2 回答

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

蝴蝶不菲
TA貢獻1810條經驗 獲得超4個贊
如果您想使用該模式,您可以先將您的轉換ETA為LocalTime并使用 aDateTimeFormatter進行格式化:
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
添加回答
舉報
0/150
提交
取消