Puedo convertir una marca de tiempo de Unix en un Date()objeto poniendo el longvalor en el Date()constructor. Por ejemplo: podría tenerlo como new Date(1318762128031).
Pero después de eso, ¿cómo puedo recuperar la marca de tiempo de Unix del Date()objeto?

Respuestas:
getTime()recupera los milisegundos desde que el 1 de enero de 1970 GMT pasó al constructor. No debería ser demasiado difícil obtener el tiempo Unix (el mismo, pero en segundos) a partir de eso.fuente
getTime() = unixTimestamp * 1000),getTime()siempre devolvería tres ceros al final, pero de hecho puede devolver cualquier cosa desde que termine con000hasta999, lo que significa que tiene una mayor precisión debido a milisegundos y no es solo "* 1000". Significado: comparar un unixTimestamp * 1000 real con elgetTime()resultado solo tendría éxito en ~ 0.1% de los casos.Para obtener un
timestampdeDate(), deberá dividirgetTime()por1000, es decir:Date currentDate = new Date(); currentDate.getTime() / 1000; // 1397132691o simplemente:
long unixTime = System.currentTimeMillis() / 1000L;fuente
new Date().getTime()import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.TimeZone; public class Timeconversion { private DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmm", Locale.ENGLISH); //Specify your locale public long timeConversion(String time) { long unixTime = 0; dateFormat.setTimeZone(TimeZone.getTimeZone("GMT+5:30")); //Specify your timezone try { unixTime = dateFormat.parse(time).getTime(); unixTime = unixTime / 1000; } catch (ParseException e) { e.printStackTrace(); } return unixTime; } }fuente
En java 8, es conveniente usar la nueva biblioteca de fecha y el
getEpochSecondmétodo para obtener la marca de tiempo (está en segundo lugar)Instant.now().getEpochSecond();fuente
Instantlugar deInstant.now(). OyourDesiredJavaUtilDate.toInstant()si tiene unaDateAPI antigua .No sé si desea lograr eso en js o java, en js la forma más sencilla de obtener la marca de tiempo de Unix (este es el tiempo en segundos desde el 1/1/1970) es la siguiente:
var myDate = new Date(); console.log(+myDate); // +myDateObject give you the unix from that datefuente
Usa
SimpleDateFormatclase. Eche un vistazo a su javadoc: explica cómo usar conmutadores de formato.fuente