Obteniendo la marca de tiempo de Unix desde la fecha ()

Puedo convertir una marca de tiempo Unix en un objeto Date() poniendo el valor long en el constructor Date() . Por ejemplo: podría tenerlo como una new Date(1318762128031) .

Pero después de eso, ¿cómo puedo recuperar la marca de tiempo de Unix del objeto Date() ?

getTime() recupera los milisegundos desde que el 1 de enero de 1970 pasó al constructor. No debería ser demasiado difícil obtener el tiempo de Unix (lo mismo, pero en segundos) a partir de eso.

Para obtener la marca de tiempo de Unix desde Date() necesitamos dividir getTime() / 1000

 Date currentDate = new Date(); currentDate.getTime() / 1000; // 1397132691 

o simplemente:

 long unixTime = System.currentTimeMillis() / 1000L; 
 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; } } 

En java 8, es conveniente usar la nueva fecha lib y el método getEpochSecond para obtener la marca de tiempo (está en el segundo)

Instant.now().getEpochSecond();

Use la clase SimpleDateFormat . Eche un vistazo a su javadoc: explica cómo usar los modificadores de formato.

No sé si quieres lograr eso en js o java, en js la forma más simple de obtener el timestampt de unix (este es el tiempo en segundos desde 1/1/1970) es el siguiente:

 var myDate = new Date(); console.log(+myDate); // +myDateObject give you the unix from that date