Rumah > Java > javaTutorial > Bagaimana untuk Membetulkan java.text.ParseException Apabila Menghuraikan Tarikh dalam Android?

Bagaimana untuk Membetulkan java.text.ParseException Apabila Menghuraikan Tarikh dalam Android?

Patricia Arquette
Lepaskan: 2024-12-19 10:18:15
asal
904 orang telah melayarinya

How to Fix java.text.ParseException When Parsing Dates in Android?

Ralat Penghuraian Tarikh: java.text.ParseException dengan SimpleDateFormat

Pernyataan Masalah

Apabila menghuraikan rentetan tarikh menggunakan SimpleDateFormat dalam Android, ralat berikut berlaku:

java.text.ParseException: Unparseable date: "24 Oct 2016 7:31 pm" (at offset 3)
Salin selepas log masuk

Penyelesaian: Tentukan Tempatan dengan SimpleDateFormat dan Gunakan DateTimeFormatter untuk Format Tersuai

Untuk menyelesaikan ralat, adalah penting untuk menyatakan secara eksplisit tempat semasa menggunakan SimpleDateFormat. Ini memastikan bahawa format tarikh ditafsirkan dengan betul berdasarkan konvensyen setempat.

Selain itu, amat disyorkan untuk beralih kepada API tarikh dan masa Java 8 moden, yang menyediakan fungsi yang dipertingkatkan dan menghapuskan potensi isu dengan lapuk API seperti SimpleDateFormat.

Untuk format tarikh tersuai, DateTimeFormatter harus digunakan dan bukannya SimpleDateFormat. Ia menawarkan penghuraian tidak peka huruf besar dan kecil, menyokong berbilang tempat dan secara keseluruhannya lebih fleksibel.

Contoh Kod

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Main {

    public static void main(String[] args) {
        String strDateTime = "24 Oct 2016 7:31 pm";
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("d MMM uuuu h:m a", Locale.ENGLISH);
        LocalDateTime ldt = LocalDateTime.parse(strDateTime, dtf);
        System.out.println(ldt);
    }
}
Salin selepas log masuk

Perangkap Tempatan Lalai

Tempat lalai boleh menjadi masalah apabila menghuraikan tarikh, kerana ia berbeza-beza bergantung pada tetapan tempat sistem. Untuk mengelakkan isu ini, sentiasa nyatakan tempat yang dikehendaki secara eksplisit.

Nota Tambahan

  • Mengsyorkan API Java 8: API tarikh dan masa Java 8 lebih banyak cekap, fleksibel dan mempunyai sokongan terbina dalam untuk berbilang zon masa. Adalah sangat digalakkan untuk berhijrah ke API ini untuk kefungsian dan penyelenggaraan yang lebih baik.
  • ThreeTen-Backport untuk Java 6 dan 7: Jika anda tidak dapat menaik taraf kepada Java 8, pertimbangkan untuk menggunakan ThreeTen-Backport untuk sandarkan fungsi tarikh dan masa Java 8 ke Java 6 dan 7.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan java.text.ParseException Apabila Menghuraikan Tarikh dalam Android?. 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