Java 中的「無法將給定物件格式化為日期」異常:已解決
嘗試將表示日期的字串格式化為特定格式時格式時,開發人員可能會遇到「無法將給定物件格式化為日期」異常。發生這種情況是因為提供的 DateFormat 實例用於格式化日期值,而不是字串。
要解決此問題,請使用兩個 SimpleDateFormat 物件:一個用於解析(將字串轉換為日期),另一個用於格式化(將日期轉換為細繩)。以下是範例:
<code class="java">import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class DateParser { public static void main(String[] args) throws Exception { // Define formats for input and output DateFormat outputFormat = new SimpleDateFormat("MM/yyyy", Locale.US); DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US); // Parse input string into a Date object String inputText = "2012-11-17T00:00:00.000-05:00"; Date date = inputFormat.parse(inputText); // Format the Date object using the desired format String outputText = outputFormat.format(date); System.out.println(outputText); // Output: 11/2012 } }</code>
請注意,建議在建立 SimpleDateFormat 實例時指定區域設置,以確保根據使用者的區域設定進行正確的日期和時間處理。此外,請考慮使用 Joda Time 庫來實現進階日期和時間操作功能。
以上是如何解決 Java 中的「無法將給定物件格式化為日期」異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!