Discussion:
mostrar hora en tiempo real???
(demasiado antiguo para responder)
Enigma939
2005-05-28 18:30:25 UTC
Permalink
hola grupo,

soy un novato en php y me gustaria mostar en mi web la hora local en tiempo
real en formato HH:MM:SS

con la función date() la saco en el momento de carga, pero, ¿como hago para
que se actualice en tiempo real?

Muchas gracias.
Enigma939
2005-05-28 18:33:08 UTC
Permalink
ademas acabo de darme cuenta de que me muestra una hora menos (supongo que
debido al cambio horario)

¿Cómo hago para q coja la hora del servidor, en este caso mi ordenador
local, que aunque muestra la hora correctamente en windows, cuando la
muestra por web con la funcion date() me muestra una hora menos.

Muchas gracias,
Post by Enigma939
hola grupo,
soy un novato en php y me gustaria mostar en mi web la hora local en
tiempo real en formato HH:MM:SS
con la función date() la saco en el momento de carga, pero, ¿como hago
para que se actualice en tiempo real?
Muchas gracias.
SoLRaC
2005-05-28 20:27:36 UTC
Permalink
Post by Enigma939
ademas acabo de darme cuenta de que me muestra una hora menos (supongo que
debido al cambio horario)
¿Cómo hago para q coja la hora del servidor, en este caso mi ordenador
local, que aunque muestra la hora correctamente en windows, cuando la
muestra por web con la funcion date() me muestra una hora menos.
En principio te deberia cojer la hora de la maquina donde este el php
puesto (si tienes el servidor en tu maquina, deberia salir el de tu
maquina, si tienes la pagina en algun host, pues la hora que tengan ahi)

Si siempre es una hora de diferencia, hazlo a mano
date("h+1:i:s"); // si no recuerdo mal :P
Jesús M. NAVARRO
2005-05-30 01:33:43 UTC
Permalink
Post by Enigma939
ademas acabo de darme cuenta de que me muestra una hora menos (supongo que
debido al cambio horario)
¿Cómo hago para q coja la hora del servidor, en este caso mi ordenador
local, que aunque muestra la hora correctamente en windows, cuando la
muestra por web con la funcion date() me muestra una hora menos.
Probablemente te esté dando la hora GMT/UTC en lugar de la hora local.
Seguramente funciones como datetime te permitirán establecer tu huso
horario al tiempo de invocar la función.

[...]
Post by Enigma939
Post by Enigma939
soy un novato en php y me gustaria mostar en mi web la hora local en
tiempo real en formato HH:MM:SS
¿En tiempo real? Te refieres a irse actualizando cada segundo? Eso no es
problema del servidor, que una vez que ha enviado los datos ya los ha
enviado y se olvida del asunto, sino del cliente. Probablemente (no lo se)
haya alguna función ecmascript que pueda hacerlo pero eso poco tiene que
ver con PHP; no creo que realmente quieras enviar una solicitud por segundo
al servidor para que te devuelva una página para cambiar la hora mostrada.
En todo caso, ¿qué utilidad puede tener que una página web me diga la hora
que es? Tengo un reloj en mi pantalla que seguramente va a ser más preciso
que el que tú puedas poner (y otro en la muñeca, por si acaso).
--
SALUD,
Jesús
SoLRaC
2005-05-28 20:25:06 UTC
Permalink
Post by Enigma939
con la función date() la saco en el momento de carga, pero, ¿como hago para
que se actualice en tiempo real?
En principio en php no podrias, por que una vez que manda la pagina
desde el servidor el php ya no hace nada.

Quizas un iframe que se actualice solo, aunque eso seria muy molesto. Te
recomiendo que busques como hacerlo en javascript
Iván Sánchez Ortega
2005-05-29 00:55:23 UTC
Permalink
Post by Enigma939
con la función date() la saco en el momento de carga, pero, ¿como hago
para que se actualice en tiempo real?
No. Puedes.

Paradigma de la programación PHP: tu programa recibe una petición de un
navegador web, y le envía una respuesta. Punto pelota. El navegador hará
con esa respuesta lo que le de la gana (ignorar javascript, redirecciones,
frames, etc).

Recuerda, PHP sólo responde ante las peticiones directas del navegador. Esto
es algo que se te tiene que quedar grabado en las neuronas.

Si quieres que el navegador haga algo, aparte de pedir y mostrar la página,
ya deja de ser problema de la programación en PHP del lado del servidor.

- --
- ----------------------------------
Iván Sánchez Ortega -ivansanchez-arroba-escomposlinux-punto-org

Esta linea de comentario es especial para @N@
Rouco Sifredi
2005-05-30 03:14:50 UTC
Permalink
Hola,

Para que eso quede bien debes hacerlo en Javascript.

Como te han dicho, el alcance de PHP acaba cuando la página sale del
servidor. Por eso se le dice lenguaje del lado del servidor, frente a
javascript que es del lado del cliente, interpretado por el mismo navegador.

En PHP podrías hacerlo con un iframe pequeñito, actualizándose cada segundo,
pero ten en cuenta que son peticiones repetidas al servidor y la respuesta
podría tardar varios segundos, dependiendo de la velocidad de conexión

Otro inconveniente es que PHP mostrará siempre la hora del servidor. Tu
dices que te sale una hora de diferencia, para un peruano serían 6 horas y
en Japón a saber.

El iframe sería:

<iframe src="reloj.php" height="30" width="100" scrolling="0"></iframe>

Y el script reloj.php, visualizado en el iframe:

<html>
<head>
<meta http-equiv="refresh" content="1"; url=''reloj.php">
</head>
<body>

<?php
$hora = date('H:i:s');
echo "<p>La hora del servidor es: $hora</p>";
?>
</body>
<html>

En Javascript podría ser algo así como:

function Hora()
{
var h = new Date();
var hora = h.getTime();
return hora();
}

No me preguntes como se implementa y se actualiza cada segundo porque por el
momento no lo sé, en javascript toi flojito, si lo sabes tu o alguien me
decís.

Salu2.

Rouco Sifredi
Post by Enigma939
hola grupo,
soy un novato en php y me gustaria mostar en mi web la hora local en tiempo
real en formato HH:MM:SS
con la función date() la saco en el momento de carga, pero, ¿como hago para
que se actualice en tiempo real?
Muchas gracias.
David Méndez
2005-06-10 04:54:18 UTC
Permalink
Que pena responder tan tarde...

La solución es utilizar javascript colocando un TIMER cada SEGUNDO en el
cual se actualice la hora.

seria algio así:

la funcion a utilizar es:

<script type="text/javascript">
<!--
t = null;
function ActualizarReloj() {
hora=hora+1segundo // bueno como sea...
}
function EmpezarTIMER() {
t = setTimeout("ActualizarReloj()",1000); }
-->
</script>
Aca 1000 significa 1 segundo es decir es en milisegundos.

Y se coloca en el codigo html para montar el TIMER.:

<body bgcolor=#BDD3F4 leftmargin=0 topmargin=0 onload="EmpezarTIMER();">

Con esto creo que se puede lograr.

Mucha suerte.

David.
Post by Enigma939
hola grupo,
soy un novato en php y me gustaria mostar en mi web la hora local en tiempo
real en formato HH:MM:SS
con la función date() la saco en el momento de carga, pero, ¿como hago para
que se actualice en tiempo real?
Muchas gracias.
Loading...