Trzeba tryb 3 Określ na wezwanie mysql YEARWEEK:
SELECT YEARWEEK(now(),3);
PHP date()
zastępczy W
zwraca numer tygodnia według do ISO 8601 specification. Oznacza to, że tygodnie rozpoczynają się w poniedziałek (nie w niedzielę), pierwszy tydzień roku to numer 1 (nie 0), a ten tydzień jest pierwszym, który ma co najmniej 4 dni w nowym roku (więc jest to tydzień zawierający nowy pierwszy czwartek w roku). Według the documentation for the MySQL WEEK function, że kombinacja opcji jest tryb 3.
Ponadto, aby ciągnąć nutę Alles jest w przyjętym odpowiedź, bo to ważne: placeholder'y Y
i W
nie idą w parze. Jeśli chcesz, aby rok, który jest zgodny z numerem tygodnia ISO, powinieneś użyć o
zamiast Y
. Rozważmy na przykład w poniedziałek, 29 grudnia 2014:
date('YW', mktime(0,0,0,12,29,2014)); #=> 201401 : 1st week of 2014??
date('oW', mktime(0,0,0,12,29,2014)); #=> 201501 : better
Dziękuję Mark. Odpowiedź na to pytanie brzmi: –
+1, ale co zrobić, jeśli chcę używać YEARWEEK do gromadzenia danych tygodniowo, a chcę, aby niedziela była pierwszym dniem tygodnia?Wydaje się, że PHP nie ma możliwości zmiany dnia rozpoczynającego tydzień – dzona
To właśnie określa drugi argument ("tryb"). Przeczytaj odsyłacz do dokumentacji ... tryby 0, 2, 4 i 6 rozpoczynają się w niedzielę od tygodnia, różniąc się, gdy jest tydzień 1 i czy jest tydzień 0 lub 53. –