Foros del Web » Programando para Internet » PHP »

Hora de un servidor "español"

Estas en el tema de Hora de un servidor "español" en el foro de PHP en Foros del Web. Hola a todos: he estado ojeando el foro en relacion con el tema de la hora para almacenarla en una base de datos y hay ...
  #1 (permalink)  
Antiguo 21/09/2003, 18:00
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
Hora de un servidor "español"

Hola a todos:

he estado ojeando el foro en relacion con el tema de la hora para almacenarla en una base de datos y hay algo que no comprendo del todo

se supone que si el servidor donde tengo la pagina es español, al tomar la hora, por ejemplo, con Now(), debería devolverme la hora de España ¿no? si esto es correcto os dire que no sucede asi, y no comprendo porque

espero vuestras respuestas

gracias con antelacion
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #2 (permalink)  
Antiguo 21/09/2003, 19:17
Axo
 
Fecha de Ingreso: abril-2003
Ubicación: Virtual
Mensajes: 953
Antigüedad: 14 años, 7 meses
Puntos: 7
Bueno, a lo mejor el servidor no esta puesto en la hora española o bien no es de españa... yo lo que hago es pillar la hora del servidor y la adapto a la española restando o sumandole las horas que le faltan...
  #3 (permalink)  
Antiguo 21/09/2003, 19:30
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 6 meses
Puntos: 2
claro, el servidor devuelve la hora del servidor, y si el tuyo es uno gratuito y esta en china, pues sera la hora de china,

si lo que quieres el mostrar la hora del navegador, lo puedes hacer con java, el problema esq no sera la hora real, ya que uno en spain y otro en argentina,,,, si es para un foro no vale... se liaria todo
__________________
3w.valenciadjs.com
3w.laislatv.com
  #4 (permalink)  
Antiguo 21/09/2003, 23:01
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 6 meses
Puntos: 2
Si tenemos el servidor en un pais y queremos que la hora que se muestre sea la de otro, debemos cambiar la variable de entorno que indica la zona horaria TZ.

Para cambiar esta varible usaremos el comando putenv que sirve para cambiar las variables de entorno.

Si lo queremos en hora española tendremos que poner

Código PHP:

putenv
('TZ=Europe/Madrid'); 

echo 
date('H:i:s'); 
--------------------- http://es2.php.net/manual/es/function.putenv.php


Código PHP:
putenv ('TZ=Europe/Amsterdam'); 
mktime(0,0,0,1,1,1970
echo 
date("H:i:s"); 
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 21/09/2003 a las 23:03
  #5 (permalink)  
Antiguo 22/09/2003, 05:27
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
el servidor no es gratuito, y es español, de ello estoy segura

necesito entre otras cosas que me aclareis que diferencia horaria existe entre capturar la hora y la fecha con date(), con Now() y con gmdate()
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #6 (permalink)  
Antiguo 22/09/2003, 16:35
Avatar de cofyman  
Fecha de Ingreso: noviembre-2002
Ubicación: Murcia - Spain
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
las diferencias

Pues mirando en los manuales on-line dice lo siguiente:

date() -> Devuelve una cadena formateada de acuerdo con la cadena de formato dada, utilizando el valor de timestamp dado o la hora local actual si no hay parámetro.

gmdate() -> Idéntica a la función date() excepto en que la hora devuelta es la de Greenwich (GMT).

Ejemplo:
Código PHP:
echo date"M d Y H:i:s",mktime(0,0,0,1,1,1998) );
echo 
gmdate"M d Y H:i:s",mktime(0,0,0,1,1,1998) ); 
Si esto se utiliza en Finlandia (GMT +0200), la primera línea del ejemplo devuelve "Jan 01 1998 00:00:00", mientras la segunda imprime "Dec 31 1997 22:00:00".

Now() --> este vale solo en un query (osea, base de datos)

Espero haber aclarado tu duda... aunque esto lo dicen los manuales

Saludos
  #7 (permalink)  
Antiguo 22/09/2003, 17:05
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
O sea: que dado mi problema lo que podria hacer es tomar la hora del Greenwich y sumarle 1 para obtener la española, y correr, ¿no?

Lo que sigo sin comprender del todo es porque no me sirve la funcion Now() si mi servidor es español

gracias cofyman
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #8 (permalink)  
Antiguo 22/09/2003, 17:16
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Bueno, el pobre hardware no sabe donde se encuentra, se fia de lo que le pone el que lo configura. Asi que puede que lo tengan mal configurado. Ademas, ¿estas seguro qeu el equipo servidor esta instalado en españa? Muchas empresas de hosting revenden productos de empresas de hosting extranjeras. E incluso tienen alojados sus equipos en otros paises (mas baratos o con mejor conexion).

Asi que la forma de estar seguros es con la hora GMT.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 22/09/2003, 17:35
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
Josemi: yo creo que de veras esta en España, ahora bien, no se si subcontratado o no (con lo de moda que esta eso aqui no me extrañaria, la verdad)

acabo de escribirles un mail para que me lo aclaren

aprovecho una respuesta tuya a otro mensaje para hacer una consulta

¿se supone que la solucion sería como la que propones aqui:

http://www.forosdelweb.com/showthrea...hreadid=119333

pero usando gmdate y luego realizando la conversion de GMT a GMT +1?
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #10 (permalink)  
Antiguo 22/09/2003, 21:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La funcioncita que ves en el mensaje que has citado es la que deberias usar (es una alternativa más) ..

Sólo tienes que indicar la diferencia horaria que tienes con respecto al GMT (desde donde pueda estar tus servidores .. ) y listo .. ya tendras la hora ajustada a la franja horaria que el usuario pueda ajustar personalizada o bien la fijas tu en el código.

PD: ..en tus BD o donde almacenes esos datos .. puedes guardarte la fecha/hora en formato GMT (0) (sería útil si mueves esos datos entre servidores de otros paises y sobre todo, franjas horarias).
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 23/09/2003, 02:13
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
hola Cluster: imagino que te refieres a tu "funcioncita" y no a lo que sugiere josemi

el problema es que no se que narices de GMT tiene mi servidor, estoy esperando que me respondan del soporte, ya que tengo como unas 6 horas de diferencia entre la hora real y la del servidor si tomo dicha hora con Now(), con lo cual no estoy segura del parametro que le debo pasar para realizar la conversion

no voy a ajustar la hora en funcion de la procedencia del usuario ya que es para un libro de visitas muy muy simple, pero si es util lo que me comentas para un posible cambio de servidor en el futuro

esperare a que me respondan y sino, hare los calculos "a ojo"

otra duda: aqui en España aplicamos un cambio de hora dos veces al año, de manera que creo que ahora tendria GMT +2 en lugar de GMT + 1, y dentro de aproximadamente un mes sera GMT + 1 ¿alguna sugerencia?
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #12 (permalink)  
Antiguo 23/09/2003, 03:07
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Sobre aquel mensaje, creo que esta mejor la funcion de Cluster. Es mas, la mia la cree segun escribia el mensaje y la de Cluster esta mas elaborada, incluso probada.

Para saber la diferencia GMT de tu servidor actual, usa la funcion date() (www.php.net/date). Si te fijas tiene una letra para sacar el GMT:
Código PHP:
echo 'GMT: '.date('O'); 
Luego tambien tiene una letra para saber si esta en daylights savings, que creo que es como se llama lo de la hora que se quita y se pone:
Código PHP:
echo date('I'); 
Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #13 (permalink)  
Antiguo 23/09/2003, 03:33
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
TODOS habeis sido de mucha ayuda

gracias Josemi, lo revisare
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #14 (permalink)  
Antiguo 23/09/2003, 05:38
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
GMT: -0700 !!!!!!!!!!!!!!!!!!!!!!!!!!
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #15 (permalink)  
Antiguo 23/09/2003, 05:48
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
GMT -7, si windows no se equivoca (en lo de cambiar la zona del reloj), es la hora de las montañas rocosas (USA y canada) y de Arizona. No se si es que el servidor esta fisicamente alli, o es que se le configuro asi. A ver que te cuentan. Tambien podrias usar el tracert para saber la ip real del equipo, y a partir de eso sacar el pais de esa IP.

Y la forma de hacer "transparente" para el programa el manejo de fechas es usar siempre las horas GMT y luego tu agregar la diferencia. Algo asi hacen en estos foros, donde en tu perfil tu especificas el GMT de donde estas para mostrar a cada uno su hora local.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #16 (permalink)  
Antiguo 23/09/2003, 06:14
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
... la hora de las montañas rocosas... pues el servidor toca la gaita y no es escoces...

en fin, resuelto con el codigo de Cluster, excepto una pequeña validacion que le voy a añadir para el desajuste horario en España

de nuevo gracias a todos
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #17 (permalink)  
Antiguo 23/09/2003, 14:39
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
Javierillo: ya me respondieron esta tarde;

tienen GMT -8 / GMT -7 en funcion del cambio horario, ya que se pretender adaptar a sus clientes en Sudamerica (y no al reves aunque sea un hosting español)

pero ya está resuelto tomando la hora del hosting mejor que la GMT

__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 13:38.