java.util.Date を java.sql.Date に変換すると日付が不正確になるのはなぜですか?
P粉883278265
P粉883278265 2023-09-01 09:05:06
0
1
421
<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>
P粉883278265
P粉883278265

全員に返信(1)
P粉237689596

形式文字列が正しくありません。

SimpleDateFormat のドキュメントを参照してください: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat .html

    大文字
  • Y: anniversary を表すパターン文字
  • 大文字
  • M: 年の月を表すパターン文字 (正しい)
  • 大文字
  • D: 年の日数を表すパターン文字
  • 小文字の
y

と小文字の d を使用する必要があります。

小文字
    y
  • : year を表すパターン文字 小文字
  • d
  • : 月の日数を表すパターン文字 変換には次のパターンを使用する必要があると思います:
  • リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート