Rumah >Java >javaTutorial >Bagaimana untuk Menukar Rentetan Tarikh \'2012-11-17T00:00:00.000-05:00\' kepada Format \'mm/yyyy\' dalam Java?

Bagaimana untuk Menukar Rentetan Tarikh \'2012-11-17T00:00:00.000-05:00\' kepada Format \'mm/yyyy\' dalam Java?

Susan Sarandon
Susan Sarandonasal
2024-11-02 15:57:29674semak imbas

How to Convert a Date String

Tidak Boleh Memformat Objek sebagai Tarikh dalam Java

Soalan:

Bagaimana tarikh dalam format "2012- 11-17T00:00:00.000-05:00" ditukar kepada "mm/yyyy" dalam Java?

Ralat Ditemui:

Apabila cuba menggunakan DateFormat. format terus pada perwakilan rentetan tarikh, pengecualian dilemparkan:

java.lang.IllegalArgumentException: Cannot format given Object as a Date

Penyelesaian:

Kuncinya adalah untuk mengenali DateFormat.format berfungsi secara khusus dengan Nilai tarikh, bukan perwakilan rentetan tarikh. Oleh itu, pendekatan dua langkah berikut harus digunakan:

  1. Hilang rentetan input ke dalam objek Tarikh:

    <code class="java">DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US);
    Date date = inputFormat.parse(inputText);</code>
  2. Formatkan objek Tarikh ke dalam format output yang diingini:

    <code class="java">DateFormat outputFormat = new SimpleDateFormat("MM/yyyy", Locale.US);
    String outputText = outputFormat.format(date);</code>

Contoh Penggunaan:

<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>

Dengan mengikuti langkah-langkah ini, rentetan tarikh boleh ditukar kepada format "mm/yyyy" yang diingini tanpa menemui format Cannot diberikan Objek sebagai pengecualian Tarikh.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan Tarikh \'2012-11-17T00:00:00.000-05:00\' kepada Format \'mm/yyyy\' dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn