J'ai une forme de chaîne de Date. Je dois le changer à Sql Date. donc pour cela, j'ai utilisé le code suivant.
String 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
pendant mois :
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");
Ne vous sentez pas mal, cette erreur est souvent commise.
mm
signifie "minutes" . Utilisez MM
à la 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
String 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
signifie minutes.
Il existe deux manières de produire un motif 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:
String startDate="01-Feb-2013"; // Input String
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