2012-04-28 23 views
44

Quiero usar currentTimeMillis dos veces para poder calcular una duración, pero también quiero mostrar la hora y la fecha en formato legible por el usuario. Estoy teniendo problemas ya que currentTimeMillis es bueno para el cálculo, pero no puedo ver una función incorporada para convertir a buen tiempo o hora/fecha.¿Cómo transformar currentTimeMillis a un formato de fecha legible?

utilizo

android.text.format.DateFormat df = new android.text.format.DateFormat(); 
df.format("yyyy-MM-dd kk:mm:ss", new java.util.Date()); 

para producir buena hora y la fecha y lo que en última instancia, me gustaría hacer es mostrar mi currentTimeMillis valor resultante en el android.text.format.DateFormat df = new android.text.format.DateFormat();

por ejemplo,

android.text.format.DateFormat df = currentTimeMillis(); 

cuando intento consigo

coinciden los tipos: no se puede convertir de tiempo para DateFormat

He tratado de utilizar algunos de fundición, pero no puedo ver cómo lograr esto .

Respuesta

100

Funcionará.

long yourmilliseconds = System.currentTimeMillis(); 
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm");  
Date resultdate = new Date(yourmilliseconds); 
System.out.println(sdf.format(resultdate)); 
+0

gracias pensaron que habría algo, pero su probable que sea más fácil encontrar un alfiler en un pajar! aclamaciones. – Purplemonkey

4
Date date = new Date(currentmilliseconds); 

ahora el objeto de fecha tiene fecha estándar.

lo puedes probar

31

Existe una manera más sencilla en Android

DateFormat.getInstance().format(currentTimeMillis); 

Por otra parte, la fecha está en desuso, a fin de utilizar DateFormat clase.

DateFormat.getDateInstance().format(new Date(0)); 
    DateFormat.getDateTimeInstance().format(new Date(0)); 
    DateFormat.getTimeInstance().format(new Date(0)); 

Las tres líneas anteriores darán:

Dec 31, 1969 
Dec 31, 1969 4:00:00 PM 
4:00:00 PM 12:00:00 AM 
+0

¿No está utilizando un constructor en desuso cuando llama a 'new Date (0)'? – SafaOrhan

+0

Acabo de verificar ... No creo que java.util.Date esté privado ... – amalBit

+2

Tiene razón, 'Date (String)' está en desuso, no 'Date (long)'. – SafaOrhan

Cuestiones relacionadas