it-swarm.com.de

Datum minus 1 Jahr?

Ich habe ein Datum in diesem Format:

2009-01-01

Wie gebe ich das gleiche Datum zurück, aber 1 Jahr früher?

74
ajsie

Sie können strtotime verwenden:

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

Die strtotime-Funktion gibt einen Unix-Zeitstempel zurück. Um eine formatierte Zeichenfolge abzurufen, können Sie date verwenden:

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

Verwenden Sie die Funktion strtotime ():

  $time = strtotime("-1 year", time());
  $date = date("Y-m-d", $time);
82
Alex

DateTime-Objekt verwenden ...

$time = new DateTime('2099-01-01');
$newtime = $time->modify('-1 year')->format('Y-m-d');

Oder heute für heute verwenden

$time = new DateTime('now');
$newtime = $time->modify('-1 year')->format('Y-m-d');
41
user2621799

eine einfachste Art und Weise, die ich verwendet und gut gearbeitet habe

date('Y-m-d', strtotime('-1 year'));

das klappte perfekt .. hoffe das hilft auch jemand anderem .. :) 

21
saadk
// 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);
9
Nirmal

Auf meiner Website, um zu überprüfen wenn die Registrierung von Personen 18 Jahre alt ist , habe ich einfach Folgendes verwendet:

$legalAge = date('Y-m-d', strtotime('-18 year'));

Vergleichen Sie danach nur die Datumsangaben.

Hoffe es könnte jemandem helfen.

0
Meloman