Cuando uno diseña páginas web a veces le surgen problemas con el código y no sabe cómo resolverlas de manera directa.
El otro día me surgió uno de esos problemas, y era que necesitaba calcular el tiempo en formato UNIX actual con Javascript, ya que tenía una función al que le pasaba una fecha UNIX por PHP y necesitaba hacer calculos con ellos.
Con PHP es fácil, la función time() te devuelve la fecha en formato UNIX, pero con Javascript no es tan fácil, o por lo menos no lo parece a primera vista.
Buscando por google no daba con la solución, buscaba "javascript unix timestamp", o "javascript unix time" y sólo encontraba alguna referencia al método parse() del objeto Date() de Javascript, pero no me servía.
Curiosamente vi un sitio donde se hizo una pregunta similar, y le respondieron: "convierte Date() en número".
El problema viene por una diferencia de conceptos, por decirlo de alguna manera. Resulta que se puede obtener la fecha actual en números con JS con el método getTime() del objeto Date(), pero se diferencia con el tiempo UNIX en que esa función devuelve el número de milisegundos que han pasado desde el 1 de enero de 1970, a diferencia del tiempo UNIX que calcula el número de segundos que ha pasado desde la misma fecha.
Entoces, para obtener la fecha en formato UNIX con JS se debe hacer lo siguiente:
var mydate = new Date();
var strDate = mydate.getTime()/1000;
strDate = Math.ceil(strDate);
Puede sonar a tonteria, pero yo me tiré un par de horas averiguando esto...
Madrid, Metro y bicis
[Review] Reproductor MP3 Samsung YP-Z5F
[Review] Reproductor MP3 Samsung YP-Z5F
Comprar billetes Renfe por internet
Berlin, metro y tren
Belgica: Bruselas y Brujas
Belgica: Bruselas y Brujas
Belgica: Bruselas y Brujas
Belgica: Bruselas y Brujas
Belgica: Bruselas y Brujas