TimeStamp Javascript y PHP

Muchas veces cuando trabajamos con fechas y horas en nuestros diferentes proyectos webs, esto se vuelve un verdadero dolor de cabeza, y para complicarlo mas tenemos que manejar tiempo del lado del servidor (PHP) y por el lado del cliente (Javascript).

Resulta que Javascript maneja el timestamp en millisegundos, mientras que PHP, maneja el timestamp en segundos, ambos desde el tiempo Unix, veamos la diferencia de forma practica.

Tenemos como premisas que la hora del servidor es: 2014-03-20 18:22:51

Al ejecutar en PHP la función srttotime(‘now’); // el resultado es: 1395355971, cuando le enviamos este resultado Javascript, resulta que para el lenguaje faltan unos cuantos miles de milisegundos y para él, al ejecutar el siguiente código la fecha resultante es muy diferente, veamos: new Date(resultado); // resultado es: Fri Jan 16 1970 23:05:55 GMT-0430 (VET). Veamos el Ejemplo

Imagen

Bien, ¿Como resolvemos este comportamiento?, pues muy sencillo, podemos o multiplicar por mil (1000) el timestamp dado en javascript o en php (yo recomendaría hacerlo en PHP, ya que si estamos utilizando una librería JS de fechas, y esta recibe un JSON implicaría recorrer todo JSON en el cliente formatear y luego pasar el mismo, mientras que si lo hacemos con PHP, mientras construimos los arreglos estamos manejando los datos). Basta de texto y mas practica.

<?php

$milisegundos = strtotime(‘now’) * 1000;

$segundos = round($milisegundos/1000); //usamos round para redondear al segundo mas cercano.

?>

Imagen

Descargar el ejemplo aquí.

Acerca de Jose Rodriguez

Ing. en Informática, Desarrollador Web (PHP, Js, HTML, CSS, JQuery, ExtJs, CodeIgniter, CakePHP, MySQL, PostgreSQL), Metodologías Ágiles (Scrum, XP), GIT, WP Ver todas las entradas de Jose Rodriguez

2 respuesta a «TimeStamp Javascript y PHP»

Deja un comentario