Ich versuche, Daten von Monday
und Sunday
von each week
für die letzten 4-8 Wochen mit PHP Date function
zu generieren.Wie erhalten Sie die Daten der letzten 4 Wochen Montag und Sonntag in PHP?
Ich habe versucht, es so zu bekommen.
<?php
$dates_array = array();
$dates_array['-3 week monday'] = date('Y-m-d',strtotime("Last Monday - 3 week"));
$dates_array['-3 week sunday'] = date('Y-m-d',strtotime("Last Sunday - 3 week"));
$dates_array['-2 week monday'] = date('Y-m-d',strtotime("Last Monday - 2 week"));
$dates_array['-2 week sunday'] = date('Y-m-d',strtotime("Last Sunday - 2 week"));
$dates_array['last monday'] = date('Y-m-d',strtotime("Last Monday"));
$dates_array['last sunday'] = date('Y-m-d',strtotime("Last Sunday"));
$dates_array['this monday'] = date('Y-m-d',strtotime("Monday"));
$dates_array['this sunday'] = date('Y-m-d',strtotime("Sunday"));
print_r($dates_array);
OUTPUT:
Array
(
[-3 week monday] => 2016-05-16
[-4 week sunday] => 2016-05-15
[-2 week monday] => 2016-05-30
[-2 week sunday] => 2016-05-29
[-1 week monday] => 2016-06-06
[-1 week sunday] => 2016-06-05
[last monday] => 2016-06-06
[last sunday] => 2016-06-12
[this monday] => 2016-06-13
[this sunday] => 2016-06-19
)
und Ausgang i bekommen habe ist, alle richtig für diese Woche und letzte Woche, aber vor der letzten Woche ist alles vermasselt, wird whys das?
Ich habe sogar so versucht.
<?php
$dates_array = array();
$dates_array['-3 week monday'] = date('Y-m-d',strtotime("Monday", strtotime('-3 week')));
$dates_array['-3 week sunday'] = date('Y-m-d',strtotime("Sunday", strtotime('-3 week')));
$dates_array['-2 week monday'] = date('Y-m-d',strtotime("Monday", strtotime('-2 week')));
$dates_array['-2 week sunday'] = date('Y-m-d',strtotime("Sunday", strtotime('-2 week')));
$dates_array['last monday'] = date('Y-m-d',strtotime("Monday", strtotime('-1 week')));
$dates_array['last sunday'] = date('Y-m-d',strtotime("Sunday", strtotime('-1 week')));
$dates_array['this monday'] = date('Y-m-d',strtotime("Monday"));
$dates_array['this sunday'] = date('Y-m-d',strtotime("Sunday"));
print_r($dates_array);
OUTPUT:
Array
(
[-3 week monday] => 2016-05-30
[-3 week sunday] => 2016-05-29
[-2 week monday] => 2016-06-06
[-2 week sunday] => 2016-06-05
[last monday] => 2016-06-13
[last sunday] => 2016-06-12
[this monday] => 2016-06-20
[this sunday] => 2016-06-19
)
Im obigen Beispiel sind auch die Ausgangsdaten seltsam.
also was ist der beste Ansatz zu erhalten Daten von Monday
und Sunday
von each week
für die letzten 4-8 Wochen mit PHP.
mit: PHP Version 5.3.3
UPDATE:
ich habe es geschafft, die richtigen Termine zu erhalten, wie von Jeroen vorgeschlagen, aber gleiche Datum Funktion, wie dieser
<?php
$dates_array = array();
$dates_array['-4 week monday'] = date('Y-m-d',strtotime("Monday", strtotime('this week -4 week')));
$dates_array['-4 week sunday'] = date('Y-m-d',strtotime("Sunday", strtotime('this week -4 week')));
$dates_array['-3 week monday'] = date('Y-m-d',strtotime("Monday", strtotime('this week -3 week')));
$dates_array['-3 week sunday'] = date('Y-m-d',strtotime("Sunday", strtotime('this week -3 week')));
$dates_array['-2 week monday'] = date('Y-m-d',strtotime("Monday", strtotime('this week -2 week')));
$dates_array['-2 week sunday'] = date('Y-m-d',strtotime("Sunday", strtotime('this week -2 week')));
$dates_array['last monday'] = date('Y-m-d',strtotime("Monday", strtotime('last week')));
$dates_array['last sunday'] = date('Y-m-d',strtotime("Sunday", strtotime('last week')));
$dates_array['this monday'] = date('Y-m-d',strtotime("Monday", strtotime('this week')));
$dates_array['this sunday'] = date('Y-m-d',strtotime("Sunday", strtotime('this week')));
print_r($dates_array);
AUSGABE:
Array
(
[-4 week monday] => 2016-05-16
[-4 week sunday] => 2016-05-22
[-3 week monday] => 2016-05-23
[-3 week sunday] => 2016-05-29
[-2 week monday] => 2016-05-30
[-2 week sunday] => 2016-06-05
[last monday] => 2016-06-06
[last sunday] => 2016-06-12
[this monday] => 2016-06-13
[this sunday] => 2016-06-19
)
Wenn Sie bereits über die Informationen für dieses oder letzte Woche bekommen können, sollten Sie es in einem 'DateTime' Objekt setzen. Dann können Sie Intervalle von 7 Tagen leicht subtrahieren. Das funktioniert ab PHP 5.3 (obwohl Sie vielleicht auf eine neuere - gepflegte - Version aktualisieren möchten ...). – jeroen
danke, ich habe es geschafft, richtige Daten mit dieser Woche zu bekommen, Aktualisierung auf die aktuelle Version ist auch in Todo. aber es wird etwas dauern, um den Code entsprechend zu aktualisieren. – AMB
@AMB: Können Sie diese Frage schließen, indem Sie eine Antwort akzeptieren oder einen Kommentar abgeben? –