Date.getTime() devuelve milisegundos desde el 1 de enero de 1970. Unixtime es segundos desde el 1 de enero de 1970. Normalmente no código en Java, pero estoy trabajando en algunas correcciones de errores. Tengo:Obtener "unixtime" en Java
Date now = new Date();
Long longTime = new Long(now.getTime()/1000);
return longTime.intValue();
¿Hay una mejor manera de obtener unixtime en java?
ACTUALIZACIÓN
Sobre la base de la sugerencia de John M, que terminó con:
return (int) (System.currentTimeMillis()/1000L);
Como lo has convertido en int, introduces el problema del año 2038 (el equivalente de Y2K para Unix). Ahí es cuando la época de Unix alcanza los 2 mil millones y se convierte en negativa. La solución es pasar a Unix de 64 bits. El equivalente de Java es dejarlo como un largo. –
Sí, soy consciente de eso. El código con el que está interactuando espera una int de 32 bits para unixtime. –
2038 viene pronto. – Pacerier