/ / Java modifie le format de date de la date personnalisée en MM jj aaaa

Java change le format de date de la date personnalisée au MM jj aaaa - java, date, analyse, formatage

J'essaie de convertir une valeur de chaîne stockée dans une base de données, par exemple "2012-01-20", au format 20 janvier 2012.

J'ai vu des exemples, mais ils utilisent Date qui fonctionne avec SimpleDateFormat.

A titre d'exemple, voici un moyen que j'ai essayé mais le "try" échoue toujours et le résultat est null

DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
Date convertedDate=null;

try {

convertedDate = df.parse(datePlayed);

} catch(ParseException e){
e.printStackTrace();
}

Réponses:

12 pour la réponse № 1

En bref, vous n’utilisez pas le bon format pour l’analyse. Vous devez utiliser deux DateFormat les instances; un pour l'analyse et un pour le formatage.

DateFormat parser = new SimpleDateFormat("yyyy-MM-dd");
DateFormat formatter = new SimpleDateFormat("MMM dd, yyyy");
Date convertedDate = parser.parse(datePlayed);
String output = formatter.format(convertedDate);

1 pour la réponse № 2
Date da = new Date();
SimpleDateFormat ft = new SimpleDateFormat("E, dd/MM/yyyy !");
System.out.println("Update : " + ft.format(da));

Vous pouvez changer votre style de date que vous voulez à: E, dd/MM/yyyy !

Bonne chance !


0 pour la réponse № 3

Si la date est lue depuis une base de données, alors stockezcomme un java.sql.Date. Vous pouvez ensuite utiliser SimpleDateFormat dessus, peut-être après la conversion en java.util.Date. A partir de l'objet ResultSet, vous pouvez extraire des dates.

Si ce que vous voulez dire, c'est que vous recevez une date dans un texte extrait d'une base de données par une autre personne et que vous êtes coincé avec elle. Essayez d'utiliser:

 DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
df.setLenient(true);
convertedDate = df.parse(datePlayed.trim() );

Essayez également d'afficher le texte que vous analysez avant d'analyser pour vous assurer que la valeur datePlayed correspond à vos attentes. Avec parseInt, un espace supplémentaire avant ou après les données provoquera une erreur, appelant trim() supprime les espaces supplémentaires.