Pregunta

¿Cuál es la mejor manera de generar una marca de fecha actual en Java?

AAAA-MM-DD:hh-mm-ss

¿Fue útil?

Solución

Usando el JDK estándar, querrás usar java.text.SimpleDateFormat

Date myDate = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd:HH-mm-ss");
String myDateString = sdf.format(myDate);

Sin embargo, si tiene la opción de utilizar el paquete Apache Commons Lang, puede utilizar org.apache.commons.lang.time.FastDateFormat

Date myDate = new Date();
FastDateFormat fdf = FastDateFormat.getInstance("yyyy-MM-dd:HH-mm-ss");
String myDateString = fdf.format(myDate);

FastDateFormat tiene la ventaja de ser seguro para subprocesos, por lo que puede utilizar una única instancia en toda su aplicación.Es estrictamente para formatear fechas y no admite el análisis como lo hace SimpleDateFormat en el siguiente ejemplo:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd:HH-mm-ss");
Date yourDate = sdf.parse("2008-09-18:22-03-15");

Otros consejos

Date d = new Date();
String formatted = new SimpleDateFormat ("yyyy-MM-dd:HH-mm-ss").format (d);
System.out.println (formatted);

También hay

long timestamp = System.currentTimeMillis() 

Que es que new Date() (@John Millikin) utiliza internamente.Una vez que lo tengas, puedes formatearlo como quieras.

SimpleDateFormatter es lo que quieres.

final DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd:hh-mm-ss");

formatter.format(new Date());

El JavaDoc para formato de fecha simple proporciona información sobre cadenas de patrones de fecha y hora.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top