¿Android obtiene la marca de tiempo actual?

Resuelto Rjaibi Mejdi asked hace 54 años • 14 respuestas

Quiero obtener la marca de tiempo actual así: 1320917972

int time = (int) (System.currentTimeMillis());
Timestamp tsTemp = new Timestamp(time);
String ts =  tsTemp.toString();
Rjaibi Mejdi avatar Jan 01 '70 08:01 Rjaibi Mejdi
Aceptado

La solucion es :

Long tsLong = System.currentTimeMillis()/1000;
String ts = tsLong.toString();
Rjaibi Mejdi avatar Aug 12 '2014 12:08 Rjaibi Mejdi

Del blog de desarrolladores:

System.currentTimeMillis()es el reloj de "pared" estándar (hora y fecha) que expresa milisegundos desde la época. El reloj de pared puede ser configurado por el usuario o la red telefónica (consulte setCurrentTimeMillis(long) ), por lo que la hora puede avanzar o retroceder de forma impredecible. Este reloj solo debe usarse cuando la correspondencia con fechas y horas del mundo real sea importante, como en una aplicación de calendario o despertador. Las mediciones de intervalos o de tiempo transcurrido deben utilizar un reloj diferente. Si está utilizando System.currentTimeMillis(), considere escuchar las transmisiones de ACTION_TIME_TICK, ACTION_TIME_CHANGEDe ACTION_TIMEZONE_CHANGEDIntent para saber cuándo cambia la hora.

drooooooid avatar Nov 10 '2011 09:11 drooooooid

1320917972 es una marca de tiempo Unix que utiliza la cantidad de segundos desde las 00:00:00 UTC del 1 de enero de 1970. Puede usar TimeUnitla clase para la conversión de unidades, de System.currentTimeMillis()a segundos.

String timeStamp = String.valueOf(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()));
sealskej avatar Jun 14 '2016 13:06 sealskej