Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP Data] Jak wyliczyc dany dzien w przedziale co dwa tygodnie
Forum PHP.pl > Forum > PHP
foxmark
Witam!

Mam do rozwiązania problem:

Chciałbym wyliczyć dzień z przedziału data start i data koniec w cyklach co tydzień, dwa tygodnie i miesiąc

Więcej:

Powiedzmy ze mam datę start 25-04-2009 i datę koniec 25-04-2010 i chciałbym wyliczyć dzień co tydzień lub co dwa tygodnie miedzy tymi datami z tym ze potrzebna jest mi tylko najbliższa data od dzisiejszej daty,

próbowałem z:
  1. <?php
  2. $tydzien  = mktime(0, 0, 0, date("m")  , date("d")+7, date("Y"));
  3. ?>

  1. <?php
  2. $dwa  = mktime(0, 0, 0, date("m")  , date("d")+14, date("Y"));
  3. ?>


Ale to wyliczy tylko datę + X dni od dzisiaj, jak rozwiązać ten problem inaczej?

Pozdrawiam!
Lonas
http://pl.php.net/time
gaua
Jeśli dobrze zrozumiałem to przydatna może okazać się funkcja:

  1. <?php
  2. strtotime('+1 week')
  3. ?>


Jako drugi parametr opcjonalnie można podać datę odniesienia
foxmark
Witam ponownie!

Starałem się wytłumaczyć wszystko dokładnie ale widocznie popełniłem błąd :

Obliczenie daty + (ilosc dni) jest prosta i nie dostarcza mi problemów,
użyje przykładu żeby opisać wyczerpująco co staram się napisać

Jeśli kiedykolwiek ustawiałeś w telefonie przypomnienie o jakimś wydarzeniu
spotkałeś się pewnie z opcją cyklicznego powiadamiania o tym wydarzeniu
np. przypomnij co miesiąc lub co tydzień i to jest dokładnie co ja staram się osiągnąć

to znaczy miedzy datami początku i końca staram się przypomnieć o danym wydarzeniu
użytkownik określa np. że od 10-03-2009 do 10-03-2009 chce być cyklicznie powiadamiany
co tydzień lub dwa tygodnie o danym wydarzeniu!

Przyklad:
Start
10-03-2009 plus dwa tygodnie .... bum
24-03-2009 Przypomnienie i kolejne dwa tygodnie ... bum
07-04-2009 Przypomnienie i kolejne dwa tygodnie .... itp
aż do 10-03-2009


Jeśli mogę jeszcze to jakoś dokładniej opisać proszę pisać - postaram się być bardziej opisowy smile.gif
jarek_bolo
Przyjrzyj się funkcji WEEK() MySQLa. I z tym coś zakombinuj.

Ja np. aby co tydzień w danym dniu (jeśli dobrze pamiętam co poniedziałek) miałem przedstawić agendę na aktualny tydzień doszedłem do takiego zapytania:
  1. SELECT id FROM `weeks` WHERE WEEK(FROM_UNIXTIME(`startdate`), 3) = WEEK(NOW(),3)


Czyli wyciągnij id rekordu, którego pole startdate jest w tym samym tygodniu roku, co dzisiejsza data(NOW()).

Myślę, że jak pokombinujesz w tym kierunku to coś wymyślisz smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.