J’ai une forme de chaîne de date. Je dois le changer à Sql Date. donc pour cela j’ai utilisé le code suivant.
Ssortingng startDate="01-02-2013"; SimpleDateFormat sdf1 = new SimpleDateFormat("dd-mm-yyyy"); java.util.Date date = sdf1.parse(startDate); java.sql.Date sqlStartDate = new java.sql.Date(date.getTime());
quand j’ai utilisé le code ci-dessus et l’exécuter. J’ai la sortie suivante.
2013-01-01.
Ici, le mois n’est pas converti correctement.
S’il vous plaît dites-moi où est le problème et fournissez un exemple de code pour obtenir un résultat correct?
mm
est minutes . Vous voulez MM
pour des mois :
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");
Ne vous sentez pas mal – cette erreur exacte revient souvent.
mm
signifie “minutes” . Utilisez MM
place:
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");
C’est un moyen simple de convertir une chaîne en date d’utilisation et en date de date
Ssortingng startDate="12-31-2014"; SimpleDateFormat sdf1 = new SimpleDateFormat("MM-dd-yyyy"); java.util.Date date = sdf1.parse(startDate); java.sql.Date sqlStartDate = new java.sql.Date(date.getTime());
Vous devez utiliser MM
car mm
correspond aux minutes .
Il y a deux façons de produire un modèle de mois .
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy"); //outputs month in numeric way, 2013-02-01 SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MMM-yyyy"); // Outputs months as follows, 2013-Feb-01
Extrait de code complet:
Ssortingng startDate="01-Feb-2013"; // Input Ssortingng SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy"); // New Pattern java.util.Date date = sdf1.parse(startDate); // Returns a Date format object with the pattern java.sql.Date sqlStartDate = new java.sql.Date(date.getTime()); System.out.println(sqlStartDate); // Outputs : 2013-02-01
Lorsque vous utilisez les formats de date, gardez à l’esprit de toujours utiliser MM
pour les mois et mm
pour les minutes. Cela devrait résoudre votre problème.