Foros del Web » Programando para Internet » PHP »

Aporte interesante. PHP, Time y sumar 1 día.

Estas en el tema de Aporte interesante. PHP, Time y sumar 1 día. en el foro de PHP en Foros del Web. Hola a todos. He descubierto algo que me trajo dolores de cabeza y ha hecho perder dinero a mi empresa. Quiero contarles, para que no ...
  #1 (permalink)  
Antiguo 07/10/2008, 15:43
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años, 6 meses
Puntos: 11
Exclamación Aporte interesante. PHP, Time y sumar 1 día.

Hola a todos.

He descubierto algo que me trajo dolores de cabeza y ha hecho perder dinero a mi empresa. Quiero contarles, para que no les suceda lo mismo.

¿Cómo hacen ustedes para obtener el día siguiente a determinada fecha?

Una forma es sumando 1 día a dicha fecha.
Ejemplo:


Código PHP:
$fecha "2008-10-26";
$fecha_en_formato_unix strtotime($fecha);
$proximo_dia =  $fecha_en_formato_unix 3600*24//sumamos 1 día en segundos
echo date("Y-m-d",$proximo_dia); 
Resulta que para mi sorpresa, no todos los dias del año tienen 24 hs

Entonces, ese script no funciona para todos los dias. Lo he probado para el día 26/10/2008 que es cuando hay cambio de "horario de verano" (por lo menos para España) y php me dice que ese dia tiene 25 horas, lo cual es lógico.

Así que a la hora de calcular el próximo día-> cuidado con sumar 24 horas!!

¿Ustedes ya lo sabian? Yo no...

Saludos.

Última edición por xbx; 07/10/2008 a las 15:44 Razón: Ortografía
  #2 (permalink)  
Antiguo 07/10/2008, 15:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Aporte interesante. PHP, Time y sumar 1 día.

Hola xbx,

Muchas veces creo es mejor implementar strtotime para hacer lo que pides, por ejemplo:
Código php:
Ver original
  1. $tomorrow = strtotime("+1 day", strtotime("2008-10-26"));

Saludos.
  #3 (permalink)  
Antiguo 07/10/2008, 15:54
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años, 5 meses
Puntos: 2
Respuesta: Aporte interesante. PHP, Time y sumar 1 día.

Ni idea, así que gracias.

De todas formas, no se si seria una solución, pero fíjate en que zona horaria esta configurado PHP, ya que dependiendo de esta, y el valor del timestamp, debiera mostrar la fecha correctamente.
__________________
KIBIT.cl
  #4 (permalink)  
Antiguo 07/10/2008, 16:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Aporte interesante. PHP, Time y sumar 1 día.

Cita:
Iniciado por Snd234 Ver Mensaje
Ni idea, así que gracias.

De todas formas, no se si seria una solución, pero fíjate en que zona horaria esta configurado PHP, ya que dependiendo de esta, y el valor del timestamp, debiera mostrar la fecha correctamente.
Exacto, es por eso que SIEMPRE debemos de configurar el timezone usando date_default_timezone_set.

Saludos.
  #5 (permalink)  
Antiguo 15/10/2008, 16:33
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años, 6 meses
Puntos: 11
Respuesta: Aporte interesante. PHP, Time y sumar 1 día.

Muy interesantes y útiles sus comentarios.

Realmente lo que quería remarcar es la existencia de dias con mas de 24 horas.

Gracias a todos.
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 22:03.