3
官方航空公司的出發和到達時間通常在幾分鐘內提供。以下是典型示例:如何將軍事時間(包括截斷偏分量)解析爲時間?
1830 - 6:30 pm
730 - 7:30 am
30 - 30 minutes after midnight (ie 12:30 am)
前兩個可以使用帶有HHmm和Hmm的DateTimeFormatter進行分析。在分析錯誤的第三結果,並嘗試與僅分鐘(毫米)的結果是不同的錯誤解析它:無法從TemporalAccessor獲得本地時間:{MinuteOfHour = 30}
限制條件:
如果可能的話,我想提供一個通用的解決方案來處理這個使用格式化程序的問題,因爲我不想打破所有其他時間變體的解析工作。
很明顯,我可以預處理傳入的數據以預先缺少零,但我有很多GB的數據,並希望避免額外的傳遞。
感謝您的幫助。
更新:一個顯而易見的解決方案是在相同的過程中預置零。例如,使用番石榴:
stringValue = Strings.padStart(stringValue, 4, '0');
LocalTime.parse(stringValue, TypeUtils.timeFormatter);
仍然好奇,如果有辦法做到這一點,只有像hh和mm這樣的標準格式代碼。
好像功課。你有嘗試過什麼嗎? – Reimeus
LOL。不,這不是家庭作業,但我有點睡眠不足。這將工作,Strings.padStart(stringValue,4,'0');在調用格式化程序之前。將更新問題。 –