ホームページ >Java >&#&チュートリアル >Java で日付文字列「2012-11-17T00:00:00.000-05:00」を「mm/yyyy」形式に変換するにはどうすればよいですか?
質問:
日付を「2012-」という形式にするにはどうすればよいですか? 11-17T00:00:00.000-05:00" は Java では "mm/yyyy" に変換されますか?
エラーが発生しました:
DateFormat を使用しようとしたとき。日付の文字列表現に直接形式を設定すると、例外がスローされます:
java.lang.IllegalArgumentException: Cannot format given Object as a Date
解決策:
重要なのは、DateFormat.format が具体的に動作することを認識することです。日付の文字列表現ではなく、日付値。したがって、次の 2 段階のアプローチを使用する必要があります:
入力文字列を Date オブジェクトに解析します:
<code class="java">DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US); Date date = inputFormat.parse(inputText);</code>
Date オブジェクトを目的の出力形式にフォーマットします:
<code class="java">DateFormat outputFormat = new SimpleDateFormat("MM/yyyy", Locale.US); String outputText = outputFormat.format(date);</code>
使用例:
<code class="java">String inputText = "2012-11-17T00:00:00.000-05:00"; String outputText = new SimpleDateFormat("MM/yyyy", Locale.US).format(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US).parse(inputText));</code>
これらの手順に従うことで、「指定されたオブジェクトを日付としてフォーマットできません」例外が発生することなく、日付文字列を目的の「mm/yyyy」形式に変換できます。
以上がJava で日付文字列「2012-11-17T00:00:00.000-05:00」を「mm/yyyy」形式に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。