Rumah > Java > javaTutorial > Mengapa DateFormat Melemparkan Pengecualian \'Tidak Dapat Memformat Objek Diberi sebagai Tarikh\'?

Mengapa DateFormat Melemparkan Pengecualian \'Tidak Dapat Memformat Objek Diberi sebagai Tarikh\'?

Linda Hamilton
Lepaskan: 2024-11-03 07:14:03
asal
385 orang telah melayarinya

Why Does DateFormat Throw a

DateFormat Tidak Dapat Memformat Objek Rentetan

Dalam Java, kelas DateFormat direka khusus untuk memformat dan menghuraikan objek Tarikh, bukan rentetan. Kod yang disediakan menunjukkan ralat biasa apabila perwakilan rentetan tarikh ("2012-11-17T00:00:00.000-05:00") dihantar terus kepada kaedah DateFormat.format(). Ini menghasilkan pengecualian "Tidak boleh memformat Objek yang diberikan sebagai Tarikh".

Dua Pendekatan Objek SimpleDateFormat

Untuk menyelesaikan isu ini, anda perlu menggunakan dua objek SimpleDateFormat: satu untuk menghuraikan rentetan ke dalam objek Tarikh dan satu lagi untuk memformat objek Tarikh dalam format yang dikehendaki. Kod yang disemak berikut menangani isu:

<code class="java">import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;

public class DateParser {    
  public static void main(String args[]) {   
    String MonthYear = null;    
    String dateformat = "2012-11-17T00:00:00.000-05:00";

    SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US);
    SimpleDateFormat outputFormat = new SimpleDateFormat("MM/yyyy", Locale.US);

    try {
      Date date = inputFormat.parse(dateformat);
      MonthYear = outputFormat.format(date);    
      System.out.println(MonthYear);    
    } catch (ParseException e) {
      System.err.println("Invalid date format.");
    }
  }    
}</code>
Salin selepas log masuk

Dalam kod ini:

  • inputFormat digunakan untuk menghuraikan rentetan input ke dalam objek Tarikh.
  • outputFormat kemudiannya digunakan untuk memformat objek Tarikh dalam format "mm/yyyy" yang dikehendaki.
  • Kod ini mengendalikan kemungkinan pengecualian ParseException apabila menghuraikan rentetan input.

Atas ialah kandungan terperinci Mengapa DateFormat Melemparkan Pengecualian \'Tidak Dapat Memformat Objek Diberi sebagai Tarikh\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan