Java の例外「指定されたオブジェクトを日付としてフォーマットできません」: 解決
日付を表す文字列を特定の形式にフォーマットしようとしたときフォーマットを使用すると、開発者は「指定されたオブジェクトを日付としてフォーマットできません」という例外が発生する可能性があります。この問題は、指定された DateFormat インスタンスが文字列ではなく日付値の書式設定に使用されるために発生します。
この問題に対処するには、2 つの SimpleDateFormat オブジェクトを利用します。1 つは解析用 (文字列を日付に変換)、もう 1 つは書式設定用 (日付を日付に変換)弦)。以下に例を示します。
<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 中国語 Web サイトの他の関連記事を参照してください。