2011-01-17 12 views
19

Necesito un formato de fecha (tal vez SimpleDateFormat) que analiza confiable la salida que obtengo cuando llamo aString() en un objeto Date. La salida en mi sistema alemán (!) Es: "Dom 12 de diciembre, 13:45:12 CET 2010", por lo que no parece respetar las configuraciones regionales, lo que parece facilitar las cosas.cómo analizar la salida de la nueva Fecha(). ToString()

¿Alguien?

Respuesta

27

Ese formato se especifica en el Date#toString().

Convierte este objeto Date a un String de la forma:

dow mon dd hh:mm:ss zzz yyyy 

Así, en SimpleDateFormat términos de patrones:

EEE MMM dd HH:mm:ss zzz yyyy 

Sin relación con el problema, me pregunto si no fue en primer lugar una mala idea usar Date#toString() en lugar de SimpleDateFormat#format() para dar salida a las fechas. Consideraría arreglarlo directamente allí.

+0

El problema es que obtuve datos producidos a través de date.toString() ... Hubiera usado DateFormat, también. – Daniel

+7

PARA TODOS LOS DEMÁS: Tenga en cuenta que debe inicializar el DateFormat con Locale.US para que esto funcione en países que no sean de EE. UU. – Daniel

6

BalusC le dio el formato correcto, usted diría que no. El método toString() no se debe usar para nada más que para el registro.

Puede usar SimpleDateFormat para formatear y analizar.

+2

Tenga en cuenta que 'java.sql.Date' tiene un resultado' toString() 'diferente. –

Cuestiones relacionadas