Mengapakah penukaran java.util.Date kepada java.sql.Date mengakibatkan tarikh yang tidak tepat?
P粉883278265
2023-09-01 09:05:06
<p>Saya sedang menukar java.util.Date kepada java.sql.date untuk memasukkan tarikh lahir ke dalam pangkalan data mysql. </p>
<p>Walau bagaimanapun, memasukkan <code>2001-04-03</code> sentiasa menghasilkan <code>java.sql.Date</code> </p>
<pre class="brush:java;toolbar:false;">BufferedReader br = BufferedReader baharu(InputStreamReader(System.in) baharu);
System.out.println("Masukkan dob(YYYY-MM-DD) :");
Tarikh rentetan = br.readLine();
SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-DD");
java.util.Date util_dob = dateFormat.parse(date);
java.sql.Date dob = new java.sql.Date(util_dob.getTime());
</pra>
<p>Masuk: 2001-04-03</p>
<p>Output: 2000-12-31</p>
<p>Jangkaan: 2001-04-03</p>
Rentetan format anda salah.
Sila lihat dokumentasi untuk
SimpleDateFormat
: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.htmlAnda hendaklah menggunakan huruf kecil y dan huruf kecil d.
Saya rasa transformasi anda harus menggunakan corak berikut: