¿Android obtiene la marca de tiempo actual?
Quiero obtener la marca de tiempo actual así: 1320917972
int time = (int) (System.currentTimeMillis());
Timestamp tsTemp = new Timestamp(time);
String ts = tsTemp.toString();
La solucion es :
Long tsLong = System.currentTimeMillis()/1000;
String ts = tsLong.toString();
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_CHANGED
e ACTION_TIMEZONE_CHANGED
Intent para saber cuándo cambia la hora.
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 TimeUnit
la clase para la conversión de unidades, de System.currentTimeMillis()
a segundos.
String timeStamp = String.valueOf(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()));