php - variable - Fecha menos 1 año?
tomar solo agua por un dia (6)
Tengo una fecha en este formato:
2009-01-01
¿Cómo devuelvo la misma fecha pero 1 año antes?
Puede usar la siguiente función para restar 1 o cualquier año de una fecha.
function yearstodate($years) {
$now = date("Y-m-d");
$now = explode(''-'', $now);
$year = $now[0];
$month = $now[1];
$day = $now[2];
$converted_year = $year - $years;
echo $now = $converted_year."-".$month."-".$day;
}
$number_to_subtract = "1";
echo yearstodate($number_to_subtract);
Y mirando los ejemplos anteriores también puede usar lo siguiente
$user_age_min = "-"."1";
echo date(''Y-m-d'', strtotime($user_age_min.''year''));
Usando el objeto DateTime ...
$time = new DateTime(''2099-01-01'');
$newtime = $time->modify(''-1 year'')->format(''Y-m-d'');
O usando ahora por hoy
$time = new DateTime(''now'');
$newtime = $time->modify(''-1 year'')->format(''Y-m-d'');
Utilice la función strtotime ():
$time = strtotime("-1 year", time());
$date = date("Y-m-d", $time);
la forma más fácil que utilicé y funcionó bien
date(''Y-m-d'', strtotime(''-1 year''));
esto funcionó perfecto ... espero que esto ayude a alguien más también ... :)
// set your date here
$mydate = "2009-01-01";
/* strtotime accepts two parameters.
The first parameter tells what it should compute.
The second parameter defines what source date it should use. */
$lastyear = strtotime("-1 year", strtotime($mydate));
// format and display the computed date
echo date("Y-m-d", $lastyear);