Foros del Web » Programando para Internet » PHP »

strtotime() aumenta 60'

Estas en el tema de strtotime() aumenta 60' en el foro de PHP en Foros del Web. Hola PHP eros... Estoy jugando con las fechas y las funciones date() y strtotime().... strtotime() me parece mas facil para manejar mas que nada a ...
  #1 (permalink)  
Antiguo 19/10/2011, 14:58
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
strtotime() aumenta 60'

Hola PHPeros...
Estoy jugando con las fechas y las funciones date() y strtotime()....
strtotime() me parece mas facil para manejar mas que nada a la hora de agregar minutos horas y dias.....

tengo un dowhile() en el cual partiendo de una hora determinada suma 15' (minutos) en cada bucle hasta llegar a una determinada hora.
basicamente hago esto:

Código PHP:
<?php
$fecha    
=    date('Ymd');

$horario    =    date('H:i:s'strtotime($fecha.'09:00:00'));

do{    

 
$hora    =    date('H:i:s'strtotime($horario));
?>

 <A HREF="reserva.php<?php echo '?s='.$s.'&go='.strtotime($fecha.$hora).'&p='.$p?>" class="boton"><?php echo $hora?></a>

<?php $horario    =    date('H:i:s',     strtotime("$hora + 900 seconds"));
}while( 
$horario    <=    '20:30:00');
?>
A la hora de abrir reserva.php al mostrar la fecha con date() note que tiene 60' de mas...

Código HTML:
Ver original
  1. <A HREF="reserva.php?s=1&go=1319025600&p=1" class="boton">09:00:00</a>

Código PHP:
echo date('H:i:s',1319025600); 
19-10-2011 10:00:00


Alguien nota el error¿?
__________________
Mono programando!
twitter.com/eguimariano
  #2 (permalink)  
Antiguo 19/10/2011, 15:13
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: strtotime() aumenta 60'

A mi me funciona bien. Aunque aveces strtotime sea mas "facil", hay otras veces donde es mejor usar mktime() (Que andaria perfecto en tu caso).

Otra cosa es que en tu while, no compares fechas de esa manera. PHP lo unico que hace ahi es comparar dos cadenas. Usa los timestamps.
Tu codigo se puede hacer mucho mas legible si solo guardas el timestamp y nada mas usas date a la hora de REALMENTE mostrar los datos.
Si te fijas, haces conversiones a diestra y siniestra que no son necesarias.
  #3 (permalink)  
Antiguo 19/10/2011, 15:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: strtotime() aumenta 60'

Pues no se tu, pero entre $fecha y $hora no hay ningún espacio.

Por lo cual, en algún punto lo que intentas YmdH:i:s daría un formato no esperado con strtotime(), el formato adecuado debe ser Y-m-d H.i:s con guiones y un espacio.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 19/10/2011, 15:20
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: strtotime() aumenta 60'

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues no se tu, pero entre $fecha y $hora no hay ningún espacio.

Por lo cual, en algún punto lo que intentas YmdH:i:s daría un formato no esperado con strtotime(), el formato adecuado debe ser Y-m-d H.i:s con guiones y un espacio.
Sos tan lindo

Código PHP:
strtotime(date('Y-m-d',$fecha).' '.$hora
__________________
Mono programando!
twitter.com/eguimariano

Etiquetas: strtotime
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 03:11.