Foros del Web » Programando para Internet » PHP »

Restar meses a una fecha (date)

Estas en el tema de Restar meses a una fecha (date) en el foro de PHP en Foros del Web. Hola, He estado buscando por Internet pero no encuentro la manera de hacer lo que necesito. Tengo un campo date en la base de datos ...
  #1 (permalink)  
Antiguo 12/07/2012, 11:47
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Restar meses a una fecha (date)

Hola,

He estado buscando por Internet pero no encuentro la manera de hacer lo que necesito.
Tengo un campo date en la base de datos donde guardo la fecha (aaaa-mm-dd) y necesito poder restarle 6 meses a la fecha de hoy obtenida por date("Y/m/d").

Si hoy es 2012/07/12 necesito sacar la fecha 2012/01/12.

El problema viene que si resto 6 a un número mas pequeño que 6 se queda en negativo, y no existen meses negativos.

Espero que alguien sepa como puedo hacerlo.
Gracias.
__________________
@JaimeMSE - ¡Sígueme!
  #2 (permalink)  
Antiguo 12/07/2012, 11:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Restar meses a una fecha (date)

MySQL tiene una función DATE_SUB para hacer eso que quieres.

Saludos.
  #3 (permalink)  
Antiguo 12/07/2012, 11:56
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Restar meses a una fecha (date)

¿No probaste con la función strtotime?

Código PHP:
$fecha1 strtotime('2012/07/12');
$fecha2 strtotime('2012/01/12');
$res $fecha1 $fecha2;
$diferencia = ((($res/60)/60)/24);

echo 
$diferencia
Así te da la diferencia en días, si la querés en horas, meses o años solo tenes que dividir o quitar divisiones.
  #4 (permalink)  
Antiguo 12/07/2012, 13:15
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Restar meses a una fecha (date)

funcion date y strtotime
Código PHP:
<?php
$fecha 
=date(Y-m-d);
echo 
date("Y-m-d"strtotime("$fecha - 6 month"));  
?>

Etiquetas: fecha, meses, restar
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 05:21.