Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menukar 'EEE MMM dd HH:mm:ss ZZZ yyyy' Tarikh kepada java.sql.Date untuk MySQL?

Bagaimana untuk Menukar 'EEE MMM dd HH:mm:ss ZZZ yyyy' Tarikh kepada java.sql.Date untuk MySQL?

DDD
DDDasal
2025-01-12 07:56:44241semak imbas

How to Convert

Menukar "EEE MMM dd HH:mm:ss ZZZ yyyy" kepada java.sql.Date untuk MySQL

Panduan ini menangani cabaran memasukkan tarikh dengan tepat dalam format "EEE MMM dd HH:mm:ss ZZZ yyyy" ke dalam pangkalan data MySQL menggunakan java.sql.Date. Perangkap biasa ialah menggunakan kaedah yang membawa kepada nilai tarikh yang salah walaupun tiada ralat yang jelas.

Penyelesaian yang disyorkan menggunakan pakej java.time yang teguh:

<code class="language-java">LocalDate date4 = ZonedDateTime
        .parse(date, DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH))
        .toLocalDate();
java.sql.Date date5 = java.sql.Date.valueOf(date4);</code>

Kod ini menghuraikan rentetan tarikh dengan cekap, mengendalikan maklumat zon waktu dengan betul dan menukarnya kepada LocalDate sebelum akhirnya mencipta java.sql.Date yang sesuai untuk sisipan pangkalan data.

Pertimbangan Utama:

  • Kekhususan Tempatan: Sentiasa nyatakan Locale (di sini, Locale.ENGLISH) apabila mencipta DateTimeFormatter untuk mengelakkan kekaburan dan memastikan penghuraian yang konsisten merentas sistem yang berbeza.
  • Ketepatan Zon Waktu: Elakkan singkatan zon waktu tiga huruf yang samar-samar (seperti "EET"). Gunakan ID zon waktu lengkap atau offset UTC untuk hasil yang boleh dipercayai.

Sebagai alternatif, jika anda lebih suka menggunakan SimpleDateFormat (walaupun java.time pada umumnya lebih disukai kerana kejelasan dan keteguhannya):

<code class="language-java">SimpleDateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");</code>

Ingat untuk memadankan corak format dengan teliti ("EEE MMM dd HH:mm:ss zzz yyyy" dan "yyyy-MM-dd") dengan input dan output yang anda inginkan, dengan memberi perhatian yang teliti kepada huruf besar (seperti yang ditakrifkan dalam dokumentasi SimpleDateFormat). Walau bagaimanapun, menggunakan java.time amat digalakkan untuk pengendalian ralat dan kejelasannya yang lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk Menukar 'EEE MMM dd HH:mm:ss ZZZ yyyy' Tarikh kepada java.sql.Date untuk MySQL?. 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