使用Joda Time 將日期字串解析為DateTime 物件
處理日期和時間資料時,通常需要轉換日期作為字串儲存到結構化物件中以便進一步處理。 Joda Time 庫提供了一套全面的工具,用於處理 Java 中的日期和時間操作。
一個常見任務是將日期字串轉換為 DateTime 物件。但是,如果字串不是預期的格式,使用者可能會遇到錯誤。讓我們用一個具體的例子來解決這個問題。
錯誤:「無效格式」
考慮以下程式碼:
<code class="java">DateTime dt = new DateTime("04/02/2011 20:27:05");</code>
此程式碼的目的從字串建立 DateTime 物件。但是,它失敗並顯示錯誤“無效格式:“04/02/2011 14:42:17”在“/02/2011 14:42:17”處格式錯誤”。
解決方案:使用 DateTimeFormat
要解決該問題,我們需要指定日期字串的預期格式。 Joda Time 為此提供了 DateTimeFormatter 類別。以下是修正後的程式碼:
<code class="java">DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm:ss"); DateTime dt = formatter.parseDateTime("04/02/2011 20:27:05");</code>
透過定義格式字串,我們指示 Joda Time 如何解釋輸入字串中的日期元件。在此範例中,格式模式指示應將字串解析為日 (dd)、月 (MM)、年 (yyyy)、小時 (HH)、分鐘 (mm) 和秒 (ss)。
一旦定義了格式化程序,我們就可以使用它來解析字串並建立一個 DateTime 物件。產生的 dt 物件將具有指定的日期和時間組件。
以上是如何使用 Joda Time 將日期字串解析為 DateTime 物件並避免「無效格式」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!