Foros del Web » Programando para Internet » PHP »

ayuda con strtotime

Estas en el tema de ayuda con strtotime en el foro de PHP en Foros del Web. hace un rato pregunte como restar dias a una fecha, en este caso la del sistema. y me dijeron que usara esta funcion. pero no ...
  #1 (permalink)  
Antiguo 30/06/2009, 12:48
 
Fecha de Ingreso: mayo-2009
Mensajes: 177
Antigüedad: 15 años
Puntos: 1
Pregunta ayuda con strtotime

hace un rato pregunte como restar dias a una fecha, en este caso la del sistema. y me dijeron que usara esta funcion. pero no me arroja lo que esperaba.

Tengo el siguiente codigo:
$fecha=date('Y/m/d');
$fechalista= strtotime('-1 month', $fecha);
print("$fecha - $fechalista");

con esto lo que quiero es recojer la fecha del sistema menos un mes o 30 dias pero lo que me sale es esto:

2009/06/30 - -2589991

y lo que hay despues del guion no se parece a una fecha en nada. por favor ayudenme con este problema.

Les agradezco de antemano.
  #2 (permalink)  
Antiguo 30/06/2009, 12:53
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: ayuda con strtotime

Lo que te devuelve es un timestamp(), tienes que pasar ese timestamp por date() para volver a darle formato.

date('Y/m/d', $fechalista);
  #3 (permalink)  
Antiguo 30/06/2009, 12:58
 
Fecha de Ingreso: mayo-2009
Mensajes: 177
Antigüedad: 15 años
Puntos: 1
Respuesta: ayuda con strtotime

nada me sigue mostrando la fecha igual dame una mano por fa
  #4 (permalink)  
Antiguo 30/06/2009, 12:59
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: ayuda con strtotime

Muestrame como tienes el codigo actualmente.
  #5 (permalink)  
Antiguo 30/06/2009, 13:02
 
Fecha de Ingreso: mayo-2009
Mensajes: 177
Antigüedad: 15 años
Puntos: 1
Respuesta: ayuda con strtotime

$fecha=date('Y/m/d');
$fechalista = strtotime('-1 month', $fecha);
date('Y/m/d', $fechalista);
print("$fecha - $fechalista");
  #6 (permalink)  
Antiguo 30/06/2009, 13:11
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: ayuda con strtotime

Tienes que asignar lo que retorna date() a una variable:

$fecha=date('Y/m/d');
$fechalista = strtotime('-1 month', $fecha);
$fechalista = date('Y/m/d', $fechalista);
print("$fecha - $fechalista");
  #7 (permalink)  
Antiguo 30/06/2009, 13:31
 
Fecha de Ingreso: mayo-2009
Mensajes: 177
Antigüedad: 15 años
Puntos: 1
Respuesta: ayuda con strtotime

Que pena tanta molestia, pero aun no me funciona. he modificado un poco el codigo a ver si lo logro pero nada. con la modificacion que dijiste, funciona pero la fecha sale trocada, me resta son los años a pesar de que diga day o month en strtotime. Y las cantidades que resta no concuerdan con lo que yo le digo que reste:

date_default_timezone_set('America/Bogota');
$fecha=date('Y/m/d - H:i');
$fechalista = strtotime('-1 month', $fecha);
$fechalista =date('Y/m/d - H:i',$fechalista);
print("$fecha $fechalista");

esto es lo que me esta imprimiendo:
2009/06/30 - 14:28 1969/12/01 - 19:33
  #8 (permalink)  
Antiguo 30/06/2009, 13:34
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: ayuda con strtotime

Pon la fecha en formato YYYY-MM-DD

$fecha = date("Y-m-d H:i");
  #9 (permalink)  
Antiguo 30/06/2009, 13:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 177
Antigüedad: 15 años
Puntos: 1
Respuesta: ayuda con strtotime

No no quizo definitivamente. Creo que tendre que buscar otra forma de hacer lo que necesito.
Ya tengo es verguenza de preguntar tanto y esta vaina no funciona. lo coloque como dijiste y no funciono, lo volvi a cambiar y sigue igual este es el codigo y acontinuacion esta lo que imprime.

date_default_timezone_set('America/Bogota');
$fecha=date('d/Y/m');
$fechalista = strtotime('-1 MONTH', $fecha);
$fechalista =date('d/Y/m',$fechalista);
print("$fecha");
?>
<br>
<?
print("$fechalista");

Imprime esto:

30/2009/06
01/1969/12
  #10 (permalink)  
Antiguo 30/06/2009, 13:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: ayuda con strtotime

Revisa la sintaxis de la fecha, tiene que ser Y-m-d
  #11 (permalink)  
Antiguo 30/06/2009, 13:48
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: ayuda con strtotime

Ah, ya vi el error. Asi quedo el codigo:

Código php:
Ver original
  1. <?php
  2.  
  3. date_default_timezone_set('America/Bogota');
  4. $fecha=date('Y-m-d H:i');
  5. $fechalista = strtotime('-1 month');
  6. $fechalista =date('Y-m-d H:i',$fechalista);
  7. print("$fecha<br />");
  8. print("$fechalista");
  9.  
  10. ?>
  #12 (permalink)  
Antiguo 30/06/2009, 13:49
 
Fecha de Ingreso: mayo-2009
Mensajes: 177
Antigüedad: 15 años
Puntos: 1
Respuesta: ayuda con strtotime

si la cambio sigue sin funcionar y ya le he movido todo lo que se me ocurre y nada mira el codigo y lo que imprime a continuacion:

date_default_timezone_set('America/Bogota');
$fecha=date('Y-m-d ');
$fechalista = strtotime('-30 Day', $fecha);
$fechalista =date('Y-m-d',$fechalista);
print("$fecha");
?>
<br>
<?
print("$fechalista");

imprime:

2009-06-30
1969-12-01
  #13 (permalink)  
Antiguo 30/06/2009, 13:51
 
Fecha de Ingreso: mayo-2009
Mensajes: 177
Antigüedad: 15 años
Puntos: 1
Respuesta: ayuda con strtotime

Oye gracias ron ruby ya funciona, voy a echarle un vistazo para ver los errores.
ahi perdonan la intensidad.
  #14 (permalink)  
Antiguo 30/06/2009, 13:53
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: ayuda con strtotime

Proba cambiando la segunda variable llamada $fechalista por algo diferente, por ejemplo:

Código PHP:
date_default_timezone_set('America/Bogota');
$fecha=date('Y-m-d ');
$fechalista=strtotime('-30 Day', $fecha);
$fecharestada=date('Y-m-d',$fechalista);
print("$fecha");
?>
<br>
<?
print("$fecharestada");
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 12:24.