Rumah >Java >javaTutorial >Mengapa Penghuraian Tarikh Saya Gagal di Tempat Berbeza?

Mengapa Penghuraian Tarikh Saya Gagal di Tempat Berbeza?

Susan Sarandon
Susan Sarandonasal
2024-12-19 13:14:12797semak imbas

Why Does My Date Parsing Fail on Different Locales?

Tidak dapat menghuraikan tarikh kerana Tempatan yang salah

Anda cuba menghuraikan tarikh- rentetan masa "24 Okt 2016 7:31 malam" dengan pemformat tarikh-masa dtfmt disegerakkan dengan tempat lalai. Walau bagaimanapun, apabila kod berjalan pada telefon, ia menghadapi pengecualian ParseException dengan mesej "java.text.ParseException: Unparseable date: java.text.DateFormat.parse(DateFormat.java:579)".

Puncanya exception

Perincian penting dalam mesej pengecualian ini ialah sistem cuba menggunakan Tempatan lalai apabila menghuraikan tarikh, yang bukan seperti yang kami jangkakan. Secara lalai, Tempatan Android ditetapkan agar sepadan dengan bahasa sistem dan tetapan serantau. Untuk kebanyakan peranti, ini akan menjadi Tempatan selain bahasa Inggeris, mengakibatkan kegagalan penghuraian.

Penyelesaian

Sentiasa tentukan Tempatan secara eksplisit apabila mencipta pemformat masa tarikh, sama ada SimpleDateFormat atau DateTimeFormatter. Dalam kes anda, anda boleh menetapkan tempattempat kepada Locale.ENGLISH seperti berikut:


SimpleDateFormat dtfmt=new SimpleDateFormat("dd MMM yyyy hh:mm a", Locale.ENGLISH);<br>

Ini menentukan bahawa penghurai tarikh-masa harus menggunakan konvensyen bahasa Inggeris untuk menghuraikan rentetan tarikh-masa. Ini akan memastikan bahawa rentetan tarikh-masa yang sama dihuraikan dengan betul tanpa mengira tetapan tempat sistem.

Atas ialah kandungan terperinci Mengapa Penghuraian Tarikh Saya Gagal di Tempat Berbeza?. 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