我在字符串變量中有一個格式為 07/18/2018 01:00-04:00 CDT 的日期。其中 01:00-04:00 是一個時間范圍。我需要將其轉換為兩個單獨的變量中的日期格式,并記住時區。Var1 應該有 07/18/2018 01:00 CDT Var2 應該有 07/18/2018 04:00 CDT我應該標記這個字符串并在 01:00-04:00 分開嗎?或者在 simpleDateParser 中有沒有辦法做到這一點?
2 回答

明月笑刀無情
TA貢獻1828條經驗 獲得超4個贊
問題是您擁有的不是日期時間。它是一個區間。日期時間格式化程序將無法處理它。格式化程序 API 生成一個Date
對象(用于遺留DateFormat
類)或一個TemporalAccessor
對象(用于DateTimeFormatter
)。當前或遺留 Java 日期/時間 API 中都沒有對間隔的直接支持。
鑒于格式/格式化程序類不能返回間隔,格式字符串不支持這個1也就不足為奇了。
所以,唯一的選擇是自己做一些解析/字符串攻擊。@Sun 的答案是一種解決方案。
1 - 如果您可以編寫一個格式/格式化程序模式來告訴解析器“忽略接下來的 5 個字符”,例如,您可以創建兩個不同的格式化程序來解析您的示例以提取第一個日期時間和第二個日期時間。但你不能。一個原因是這種方法不適用于格式化。
添加回答
舉報
0/150
提交
取消