java.util.Date を java.sql.Date に変換すると日付が不正確になるのはなぜですか?
<p>mysql データベースに生年月日を挿入するために、java.util.Date を java.sql.date に変換しています。 </p>
<p>ただし、<code>2001-04-03</code> と入力すると、常に <code>java.sql.Date</code> が <code>2000-12-31</code> になります。 </p>
<pre class="brush:java;toolbar:false;">BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("dob(YYYY-MM-DD) を入力してください:");
文字列日付 = br.readLine();
SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-DD");
java.util.Date util_dob = dateFormat.parse(date);
java.sql.Date dob = 新しい java.sql.Date(util_dob.getTime());
</pre>
<p>「2001-04-03</p>」と入力します。
<p>出力: 2000-12-31</p>
<p>予想: 2001-04-03</p>