online long human from convert java unix-timestamp

java - long - timestamp to date



Obteniendo "unixtime" en Java (2)

Date.getTime () devuelve milisegundos desde el 1 de enero de 1970. Unixtime es segundos desde el 1 de enero de 1970. No suelo codificar en java, pero estoy trabajando en algunas correcciones de errores. Yo tengo:

Date now = new Date(); Long longTime = new Long(now.getTime()/1000); return longTime.intValue();

¿Hay una mejor manera de obtener unixtime en java?

ACTUALIZAR

Basándome en la sugerencia de John M, terminé con:

return (int) (System.currentTimeMillis() / 1000L);


Evite la creación del objeto Date con System.currentTimeMillis() . Una división por 1000 te lleva a la época de Unix.

Como se mencionó en un comentario, por lo general usted desea un largo primitivo (largo en minúsculas-largo) y no un objeto en caja largo (mayúscula-L largo) para el tipo de variable unixTime.

long unixTime = System.currentTimeMillis() / 1000L;


Java 8 agregó una nueva API para trabajar con fechas y horas. Con Java 8 puedes usar

import java.time.Instant ... long unixTimestamp = Instant.now().getEpochSecond();

Instant.now() devuelve un Instant que representa la hora actual del sistema. Con getEpochSecond() obtienes los segundos de la época (tiempo de Unix) del Instant .