SimpleDateFormatter.parse 提供意外的輸出格式
在您的程式碼中,您遇到了SimpleDateFormatter.format 和SimpleDateFormse 產生的差異不同的輸出格式。讓我們深入研究此行為背後的原因。
SimpleDateFormatter 類別需要日期格式和時區資訊才能正確操作日期。在您的情況下,您指定的格式為「dd/MM/yyyy hh:mm:ss a」(例如,23/05/2018 03:30:00 PM)。但是,當您使用相同的格式解析格式化的日期時,由於格式中的“a”(代表 AM/PM 名稱),它會識別 IST(印度標準時間)時區。
This意味著 SimpleDateFormatter.parse 使用 IST 時區解釋日期,從而產生您觀察到的時間戳:「Wed May 23 15:30:00 IST 2018」。此格式與您最初指定的格式不同,因為它包含時區資訊。
要解決此問題,請考慮以下解決方案:
總之,SimpleDateFormatter.format 和 SimpleDateFormatter.parse 之間的差異是由於時區考慮而產生的。透過利用 java.time API 或在 SimpleDateFormatter 中明確管理時區,您可以避免這些格式不一致並確保一致的日期處理。
以上是為什麼 SimpleDateFormat.parse 會產生意外的輸出格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!