Pourquoi la conversion de java.util.Date en java.sql.Date entraîne-t-elle des dates inexactes ?
P粉883278265
P粉883278265 2023-09-01 09:05:06
0
1
432
<p>Je convertis java.util.Date en java.sql.date afin d'insérer la date de naissance dans la base de données MySQL. </p> <p>Cependant, la saisie de <code>2001-04-03</code> entraîne toujours <code>java.sql.Date</code> </p> <pre class="brush:java;toolbar:false;">BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Entrez dob(AAAA-MM-JJ) :"); Date de chaîne = br.readLine(); SimpleDateFormat dateFormat = new SimpleDateFormat("AAAA-MM-JJ"); java.util.Date util_dob = dateFormat.parse(date); java.sql.Date dob = new java.sql.Date(util_dob.getTime()); ≪/pré> <p>Entrez : 2001-04-03</p> <p>Sortie : 2000-12-31</p> <p>Attente : 2001-04-03</p>
P粉883278265
P粉883278265

répondre à tous(1)
P粉237689596

Votre chaîne de format est incorrecte.

Veuillez consulter la documentation pour SimpleDateFormat : https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.html

  • Lettre majuscule Y : modèle de lettre représentant anniversaire
  • Lettre majuscule M : Modèle de lettre représentant le mois de l'année(correct)
  • Lettre majuscule D : Modèle de lettre représentant le nombre de jours dans l'année

Vous devez utiliser des lettres minuscules y et des lettres minuscules d.

  • lettre minuscule y : modèle de lettre représentant année
  • lettre minuscule d : modèle de lettre représentant les jours du mois

Je pense que votre transformation devrait utiliser le modèle suivant :

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal