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

È stato utile?

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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top