Mostrando time real

Actualmente estoy mostrando la date / hora en mi página web usando la function de date que proporciona PHP. Sin embargo, al usar esta function, la date / hora solo se actualizará al volver a cargar la página. Deseo que la date / hora se actualice cada segundo en su lugar.

Supongo que tengo que usar javascript o jQuery / ajax para esto, sin embargo, no tengo ni idea de cómo hacer esto. Esperaba que alguien aquí pudiera darme algún consejo.

Gracias por adelantado.

Esto es lo que uso (usando jQuery)

var updateClock = function() { function pad(n) { return (n < 10) ? '0' + n : n; } var now = new Date(); var s = pad(now.getUTCHours()) + ':' + pad(now.getUTCMinutes()) + ':' + pad(now.getUTCSeconds()); $('#clock').html(s); var delay = 1000 - (now % 1000); setTimeout(updateClock, delay); }; 

Esto es más preciso que solo tener un timer de 1000ms, ya que de lo contrario, se deriva en los times.

¿Estás buscando mostrar la hora del cliente o la hora del server? Puede consultar javascript para tener un reloj en ejecución en su página web, pero solo mostrará la hora de la computadora del usuario. PHP mostrará el reloj del server.

http://www.elated.com/res/File/articles/development/javascript/creating-a-javascript-clock/clock.html

O el complemento jQuery: http://plugins.jquery.com/project/jqClock

Le sugiero que use la date javascript oblect para mostrar la date / hora en time real

 function Timer() { var dt=new Date() document.getElementById('time').innerHTML=dt.getHours()+":"+dt.getMinutes()+":"+dt.getSeconds(); setTimeout("Timer()",1000); } Timer(); 

jquery ajax

 setTimeout(function(){ $.ajax({ url: "server.php", type:"post", success: function(data){ $('#showtime').html(data); } }); ),1000}); 

server.php

consulta de actualización // aquí hace eco de la date / hora en un formatting conveniente

html

 <div id="showtime"></div> 

ref http://api.jquery.com/jQuery.ajax/

Necesitarás usar JavaScript / jQuery.

No aconsejaría usar Ajax y las llamadas al server web para cargar el time, ya que sería una request HTTP cada segundo para cada usuario, que es mucho tráfico.

Un tutorial para hacerlo en Javascript está aquí: http://www.elated.com/articles/creating-a-javascript-clock/

(Busque en Google el reloj "Javascript", hay muchos ejemplos).

Una forma de hacerlo que le da time al server pero sin sondear cada segundo es pasar la timestamp a javascript (no a la hora formateada), luego deje que javascript lo convierta en una date formateada y use setTimeout para agregar 1 segundo al sello, solo necesita formatear la nueva timestamp cada segundo. Esto le da time al server pero sin costosas encuestas.