我在字符串變量中有一個(gè)格式為 07/18/2018 01:00-04:00 CDT 的日期。其中 01:00-04:00 是一個(gè)時(shí)間范圍。我需要將其轉(zhuǎn)換為兩個(gè)單獨(dú)的變量中的日期格式,并記住時(shí)區(qū)。Var1 應(yīng)該有 07/18/2018 01:00 CDT Var2 應(yīng)該有 07/18/2018 04:00 CDT我應(yīng)該標(biāo)記這個(gè)字符串并在 01:00-04:00 分開嗎?或者在 simpleDateParser 中有沒有辦法做到這一點(diǎn)?
2 回答

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