Rumah >Java >javaTutorial >Bagaimana untuk Menukar Rentetan Tarikh \'2012-11-17T00:00:00.000-05:00\' kepada Format \'mm/yyyy\' 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:
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>
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!