Foros del Web » Programando para Internet » PHP »

Hora en php pero del cliente

Estas en el tema de Hora en php pero del cliente en el foro de PHP en Foros del Web. Bueno hace tiempo que no me aparecía por acá. Y lo peor es que lo hago con una duda en ves de ayudar. En fin..... ...
  #1 (permalink)  
Antiguo 10/02/2004, 20:38
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 15 años
Puntos: 1
Hora en php pero del cliente

Bueno hace tiempo que no me aparecía por acá. Y lo peor es que lo hago con una duda en ves de ayudar.

En fin..... Tengo bastante claro que para conseguir la hora se usa la funcion date(); con el parametro que guste. Pero resulta que esto da como resultado la hora del servidor ¿no?.

Entonces.... de que manera consigo la hora del cliente en el que está siendo pedida la página?


Saludos
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #2 (permalink)  
Antiguo 10/02/2004, 21:39
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 13 años, 10 meses
Puntos: 0
No se exactamente para que quieres la hora del cliente, pero si es para mostrarla de su lado, puedes usar javascript.

Si pudes explicame un poco que quieres hacer para poder ayudarte un poco mas.

Saludos
__________________
Orlando F. Brea
SmartSol - Soluciones Inteligentes


Diseño y Desarrollo de Soluciones Web
  #3 (permalink)  
Antiguo 10/02/2004, 21:44
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
la mejor forma es imprimirla con javascript porque se trata de un lenguaje por medio del cliente, no hay de otra
pero puedes rescatarlo por medio de una impresión ede javascript a php como variable y ya
  #4 (permalink)  
Antiguo 11/02/2004, 06:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno si quieres ese dato que se origina en el cliente (por médio de javascript) .. debes de "enviarsela" a PHP en un link .. o en un formulario .. o cualquier redireccionamiento que apunte a tu script.php y le pase como parámetro ese dato que obtienes desde javascript:

Sería algo así .. (confirma la rutina para obtener la hora/fecha en javascript en dicho foro ... y lo mismo para componer un link con la llamada a tu variable de Javascript ...)

Código PHP:
<script languaje="javacript">
var 
hora_cliente=11:00:01";
</script>
<a href="
script.php?hora_cliente=+hora_cliente">pasar hora cliente a PHP</a> 
Lo mismo podría ser bajo un campo hidden de un formulario .. pero el proceso de insertar esa fecha en ese campo hidden es tarea de javacript.

Un saludo,

PD: Para que quieres la hora/fecha del cliente .. cuando ese dato es totalmente adulterable (puede terner mál la fecha ese cliente ...). A nivel "estadistico" .. esas fechas no creo que te sirvan de mucho. Si el problema lo tienes por qué el servidor te dá la hora de otro pais diferente al que tu la visualizas .. hay otras técnicas para ajustar esa diferencia horaria .. la solución no sería guardar la hora del cliente sino saber donde está el cliente para darle la fecha con su diferencia horaria correcta.
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 11/02/2004, 13:02
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 15 años
Puntos: 1
Muchas gracias.

En realidad lo que quiero, tal vez no me explique bien, es para un sistema de noticias (que ya se hacer) en donde una ves escrito el mensaje y guardado en la BD (en este paso es en donde se guarda la hora) muestre la hora (guardad) que se supone es la hora real del momento en que hizo el post.

Osea, antes en otro servers me funcionaba tan solo guardando en la BD lo que devuelve date("H:i"); pero la diferencia que ahora existe entre esa hora(date()) y la hora en que realmente se escribio el post es bastante.

Y no se como hacer que muestre la hora del lugar en donde se posteo.

Creo que existe una forma, algo asi como la hace el nuke(que no me gusta) cuando te pide tu Zona horaria (GMT) pero no se bien como hacerlo.

Si me pueden ayudar genial, si no obligado a intentarlo con javascript, aunque no es la idea.

Saludos !
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #6 (permalink)  
Antiguo 11/02/2004, 13:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. te aconsejo que resuelvas el problema desde PHP y no uses la hora del cliente .. eso será un real desbarajuste para tu Base de datos ..

La hora que debes guardar en tu servidor (en tu BD) es la que tenga ese servidor con o sin ajuste horario .. Lo ideal es que guardases la hora GMT 0 (con el ajuste hecho) . .y luego tu usuario que diga en que franja horia estas o defines tu una por defecto si tus usuarios son predominatemente de cierta franja horaria (ejemplo Chile).

Las horas GMT las puedes manejar desde Msyql y desde PHP ..

Desde Mysql directo (que es como deberías hacerlo):
Podrias usar DATE_ADD() o DATE_SUB() para a añadir o restar la diferncia horaria (tomando en cuenta que guardes la hora GMT 0)
http://www.mysql.com/doc/en/Date_and...functions.html

Desde PHP .. lee este mensaje:
http://www.forosdelweb.com/showthrea...hreadid=119333

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 11/02/2004, 13:53
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 15 años
Puntos: 1
gracias!
pero......... como guarda la GMT 0?
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #8 (permalink)  
Antiguo 11/02/2004, 14:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues aplicando cualquier función (sea por el método PHP o desde Msyql directo que es lo aconsejable) a la hora de guardar tu fecha en tu BD aplicas la diferencia horaria con respecto a GMT 0 .. Es decir .. si tu servidor X está en USA . .calcula la diferencia horaria hasta el GMT 0 (Meridiano de Grengrish o como se escriba xDD)

Te comento el tema de guardar la hora en horario GMT por ejemplo por si migras de servidor Msyql tu BD .. al guardar la hora en GMT no tendrias que tocar nada ...mientras que si guardas la hora del servidor .. tendrías que tener una variable por ahí que indique en que franja horaria (+x o -y) con respecto a la hora GMT para hacer los cálculos ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:32.