Come cambiare il formato della data in Java [duplicato]
-
21-12-2019 - |
Domanda
Ho una stringa e devo convertirla fino ad oggi nel formato "AAAA-mm-gg", cosa che non sono in grado di fare.Ho controllato il post simile su stckoverflow ma non è stato d'aiuto, quindi sto pubblicando questa query.
String stringDate = "Dec 13, 2013";
Ho bisogno che questo sia convertito fino ad oggi reportDate = 2013-12-13 ";quando utilizzo simpledateformat ho una data non analizzabile.Per favore aiuto
Soluzione
Controllalo:
try {
SimpleDateFormat format1 = new SimpleDateFormat("MMM dd, yyyy");
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
String stringDate = "Dec 13, 2013";
Date date = format1.parse(stringDate);
System.out.println(format2.format(date));
} catch (ParseException exp) {
// Take appropriate action
}
Produzione:2013-12-13
Altri suggerimenti
Nella programmazione un'abilità molto importante è prendere informazioni vicine a ciò di cui hai bisogno e usarle per trovare ciò di cui hai bisogno.
Guarda il link nei commenti e potrai vedere:
http://download.oracle.com/javase/1.5.0/docs/api/java/text/SimpleDateFormat.html
Leggilo e avrai ciò di cui hai bisogno per modificare la risposta lì per dare i risultati desiderati.
Utilizza SimpleDateFormat come qui:new_date
è la tua data
String stringDate = "Dec 13, 2013";
SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-DD");
Date new_date=format.parse(stringDate);
String date="Your date";
SimpleDateFormat format = new SimpleDateFormat("MMM DD, YYYY");
Date d= format.parse(date);
DateFormat newFormat = new SimpleDateFormat("YYYY-MM-DD");
System.out.println(newFormat.format(d));
Farei qualcosa del tipo:
SimpleDateFormat parser = new SimpleDateFormat("MMM dd, yyyy");
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date reportDate = parser.parse(stringDate)
String result = formatter.format(reportDate);