Tiempo UNIX en Javascript

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...

Comentarios: Subscribete a los comentarios de este articulo

Muchas gracias, muy util

Muchas gracias, yo andaba también por mi segunda hora buscando :D

Ve gracias, como dices parace una tonteria pero a mi me es de gran utilidad.

¡Hola!,
bienvenido al blog personal de Nils van der Burg, desarrollador de aplicaciones web y diseñador web. Para contactar conmigo accede al formulario de contacto.
Etiquetas
Comentarios