![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 289 Pomógł: 1 Dołączył: 2.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Chcę napisać skrypt, który będzie generował przedziały tygodnia począwszy od określonego dnia (od poniedziałku do piątku). Przykładowo: 6.08.2012 - 12.08.2012 13.08.2012 - 19.08.2012 20.08.2012 - 26.08.2012 27.08.2012 - 2.08.2012 itp. Problemem jest tutaj długość dni w miesiącu, które czasem się zmieniają. Czy mógłby mi ktoś w tym pomóc? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 291 Pomógł: 45 Dołączył: 21.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Na początku sprawdzasz czy pierwsza data jest mniejsza od drugiej - warto pilnować co się przekazuje do funkcji.
A dalej jak po sznurku: - rozpoznajesz którym dniem tygodnia jest pierwszy podany dzień - dodajesz tyle żeby dobić do ostatniego dnia tygodnia - potem można to opakować w pętlę która doda 1 dzień (poniedziałek) do obecnego, doda kolejne dni by otrzymać niedzielę, no chyba że po drodze dobije do dnia granicznego W najprostszej formie możesz to oprzeć na date i strtotime('+1 day'). W innej wersji możesz połączyć strtotime, dodawać każdorazowo 1 dzień i badać na podstawie date czy kolejne dni znajdują się w tym samym tygodniu. Rozwiązań jest wiele. (strtotime sam przeskoczy ci na kolejny miesiąc jeśli przelecisz ostatni dzień z badanego miesiąca) Ten post edytował klocu 5.08.2012, 14:21:15 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 17:49 |