Ich habe diese Funktion, die ein Array von Datum zurückgeben. Ich muss alle sieben Tage von jetzt bis zum letzten Jahr aufspringen.PHP DateInterval
$date[] = $lastDate = (new \DateTIme('NOW'))->format('Y-m-d');
for ($i = 1; $i < 54; ++$i) { // 54 -> number of weeks in a year
$date[] = $lastDate = date('Y-m-d', strtotime('-7 day', strtotime($lastDate)));
}
return array_reverse($date);
Es funktioniert, aber ich kann es besser machen. Ich möchte es ändern, weil für die Anzahl der Wochen in einem Jahr nicht sehr gut ist. (es kann sich ändern)
So möchte ich die DateInterval
PHP-Klasse verwenden. Ich kann das Datum des letzten Jahres habe mit:
$lastYear = date('Y-m-d', strtotime('-1 year', strtotime($lastDate)));
Aber ich weiß nicht, wie ich meinen Array mit allen meinen Daten mit der DateInterval
Klasse haben kann.
Kann mir jemand helfen? Ich bin sehr schlecht mit Datum Manipulation :(...
Hier ist ein Beispiel-Array über das, was ich brauche:
["2015-07-06", "2015-07-13", "2015-07-20", "2015-07-27", "2015-08-03", "2015-08-10", "2015-08-17", "2015-08-24", "2015-08-31", "2015-09-07", "2015-09-14", "2015-09-21", "2015-09-28", "2015-10-05", "2015-10-12", "2015-10-19", "2015-10-26", "2015-11-02", "2015-11-09", "2015-11-16", "2015-11-23", "2015-11-30", "2015-12-07", "2015-12-14", "2015-12-21", "2015-12-28", "2016-01-04", "2016-01-11", "2016-01-18", "2016-01-25", "2016-02-01", "2016-02-08", "2016-02-15", "2016-02-22", "2016-02-29", "2016-03-07", "2016-03-14", "2016-03-21", "2016-03-28", "2016-04-04", "2016-04-11", "2016-04-18", "2016-04-25", "2016-05-02", "2016-05-09", "2016-05-16", "2016-05-23", "2016-05-30", "2016-06-06", "2016-06-13", "2016-06-20", "2016-06-27", "2016-07-04"]
Sie möchten die Anzahl der Woche dynamisch zählen, oder? –
Ich suche nach der besten Lösung, um das zu tun. Aber ja, es war am Anfang meine Absicht. Aber wenn es einen besseren gibt, nehme ich es. – Kevin
Mögliches Duplikat von [PHP - get letzte Woche Nummer im Jahr] (http://stackoverflow.com/questions/3319386/php-get-last-week-number-in-year) –