Foros del Web » Programando para Internet » PHP »

horas retrasadas :/

Estas en el tema de horas retrasadas :/ en el foro de PHP en Foros del Web. Hola. Tengo el host en una makina del extrangero y no se si me podran cambiar la hora, tonces me tocaria añadir a cada date ...
  #1 (permalink)  
Antiguo 04/08/2003, 15:58
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 22 años, 4 meses
Puntos: 0
horas retrasadas :/

Hola.
Tengo el host en una makina del extrangero y no se si me podran cambiar la hora, tonces me tocaria añadir a cada date los segundos ke faltan (6h 20min) y claro eso es mucho rollo xq tengo muchas paginas alguna forma de pnoer una cabecera a todas las pages y ke esa modifique la hora de todas las funciones u algo asi :?

gracias :)
__________________
Zepsilon.com
Diseño e imaginacion
  #2 (permalink)  
Antiguo 04/08/2003, 16:07
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Estamos hablando de horas y fechas en una BD? o que tipo de tratamiento de fechas tienes?
__________________
Manoloweb
  #3 (permalink)  
Antiguo 04/08/2003, 18:18
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Me supongo q la funcion date();
http://php.net/date (Especificamente mktime();)

En español;
http://www.hotmex.com/webmasters/articulo.php?id=104

Salu2
__________________
http://www.chorcha.com
  #4 (permalink)  
Antiguo 06/08/2003, 06:12
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 22 años, 4 meses
Puntos: 0
a ver al coger la hora del servidor al estar mal, pues te la da mal, la hora la cojo con time(); y quisiera saber que si tengo que ir date() a date() añadiendo los segundos que faltan o hay una forma para hacerlo a todos a la vez.. o algo asi...
__________________
Zepsilon.com
Diseño e imaginacion
  #5 (permalink)  
Antiguo 06/08/2003, 08:24
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Bueno, vamos a ver...

Lo primero que debes tomar en cuenta es la lógica a la hora de determinar el tipo de tratamiento que darás a tus variables de fecha en todo tu site.

PRIMER PUNTO
Todas (y me refiero a todas) las fechas de tu sitio deben seguir la misma norma, es decir, las fechas y horas que almacenes en las BD deben corresponder a la misma zona horaria.

SEGUNDO PUNTO
El procedimiento de conversión que utilices para leer y desplegar las fechas (ya sea sumar horas o restarlas) debes tomarlo en cuenta al almacenar los valores nuevos. Por ejemplo, es conveniente que todas tus fechas la almacenes como horas GMT, para que al momento de desplegarlos sepas exactamente cuantas horas debes agregar o restar.

TERCER PUNTO
Si tu BD ya tiene registros de hora o fecha, por ejemplo basadas en su antiguo servidor, debes decidir si las conviertes todas a GMT o si los nuevos registros que insertes los vas a convertir a la zona horaria de tu server anterior.


Una vez que todo este unificado, puedes hacer una funcion muy simple que agregue las horas necesarias para que funcione como tu lo esperas, por ejemplo:

Código PHP:

<?
function fechaOK($fecha) {
    
$offset_horas=6;
    
$offset_min=20;
    
$tm=strtotime($fecha);
    
$hr=date("G",$tm) + $offset_horas;
    
$mn=date("i",$tm) + $offset_min;
    
$sg=date("s",$tm);
    
$di=date("d",$tm);
    
$me=date("m",$tm);
    
$an=date("Y",$tm);
    
$fechanueva=mktime($hr,$mn,$sg,$me,$di,$an);
    return 
$fechanueva;
}

echo 
date ("Y/m/d G:i:s",fechaOK("2003/05/25 21:13:01"));
?>

Esto te devuelve:

2003/05/26 3:33:01
__________________
Manoloweb
  #6 (permalink)  
Antiguo 06/08/2003, 09:41
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
Pue si lo k kieres es ocupar una hora local y no del server lo mejor es k lo hagas con JavaScript supongo

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #7 (permalink)  
Antiguo 06/08/2003, 09:48
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Pues eso esta peor, porque vas a tener las horas de cada visitante...

Lo que quiere es esto...

Tenia su servidor en el lugar "X", cuya ubicación lo ponía en la zona horaria GMT+X, y ahora esta en el servidor "Y", que tiene una zona horaria de GMT+Y, y lo que quiere es que sus horas y fechas en el web no sufran modificaciones por este cambio...

__________________
Manoloweb
  #8 (permalink)  
Antiguo 06/08/2003, 10:18
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
Ups sorry!
__________________
se despide hasta la proxima
Gonzalo Castillo
  #9 (permalink)  
Antiguo 06/08/2003, 12:28
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
a ver si esta vez me reivindico...

Fijate en la funcion gmdate()

Creo k es la solucion a tu problema

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
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 20:19.