ventajas variable una tomo tomar tomando sumar solo semana sacar restar que por pasa nada meses horas fechas fecha entre dias comparar como calcular beber años agua actual php date

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''));


Puedes usar strtotime :

$date = strtotime(''2010-01-01 -1 year'');

La función strtotime devuelve una marca de tiempo de unix, para obtener una cadena formateada puede usar date :

echo date(''Y-m-d'', $date); // echoes ''2009-01-01''


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);