2010-09-23 19 views
5

Estoy teniendo un valor de fecha/hora como 2010-07-26T11: 37: 52Z, ahora quiero fecha en 26-Jul-2010 (dd-mon-aaaa) formato , ¿cómo lo hago?formato de conversión usando Java

+0

¿Podemos tener algún código? – fredley

+1

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

Respuesta

24

Construya dos objetos SimpleDateFormat. El primero analiza() el valor desde dentro de un objeto Date, el segundo que usa para convertir el objeto Date en una cadena, p.

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; 
} 

El análisis puede arrojar una ParseException por lo que tendría que atrapar y manejar eso.

+0

funciona perfectamente ... agradecido por su respuesta rápida, hizo mi vida –

+0

es muy incorrecta, aunque puede darle el resultado que desea. 'Z' significa offset cero, pero analiza la fecha y hora en la zona horaria de su JVM, dando un tiempo incorrecto. Si no usa la hora del día, en muchos casos obtendrá el resultado deseado, dependiendo de sus requisitos exactos. –

Cuestiones relacionadas