2010-09-23 12 views
5

Sto avendo un/valore di data e ora come 2010-07-26T11: 37: 52Z, ora voglio data in 26-Lug-2010 (dd-mon-aaaa) Formato , come lo faccio?Data utilizzando Java

+0

Possiamo avere del codice? – fredley

+1

Modo moderno: 'OffsetDateTime.parse (" 2010-07-26T11: 37: 52Z "). Format (DateTimeFormatter.ofPattern (" dd-MMM-uuuu "))'. –

risposta

24

Costruisce due oggetti SimpleDateFormat. Il primo si analizza() il valore da in un oggetto Date, il secondo da utilizzare per trasformare nuovamente l'oggetto Date in una stringa, ad es.

try { 
    DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); 
    DateFormat df2 = new SimpleDateFormat("dd-MMM-yyyy"); 
    return df2.format(df1.parse(input)); 
} 
catch (ParseException e) { 
    return null; 
} 

L'analisi può generare un'eccezione Parse, quindi è necessario prenderla e gestirla.

+0

funziona perfettamente .... eally thankful you per la tua risposta veloce, reso la mia vita –

+0

è davvero scorretto, anche se potrebbe darti il ​​risultato che desideri. 'Z' significa offset zero, ma analizzi la data-ora nel fuso orario della tua JVM, dando un orario errato. Se non si utilizza l'ora del giorno, in molti casi si otterrà l'output desiderato, a seconda dei requisiti esatti. –