ホームページ >Java >&#&チュートリアル >Java で日付文字列「2012-11-17T00:00:00.000-05:00」を「mm/yyyy」形式に変換するにはどうすればよいですか?

Java で日付文字列「2012-11-17T00:00:00.000-05:00」を「mm/yyyy」形式に変換するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-02 15:57:29674ブラウズ

How to Convert a Date String

Java でオブジェクトを日付としてフォーマットできません

質問:

日付を「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 段階のアプローチを使用する必要があります:

  1. 入力文字列を Date オブジェクトに解析します:

    <code class="java">DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US);
    Date date = inputFormat.parse(inputText);</code>
  2. 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。