maciasgta
3.10.2009, 14:36:33
Witam
Panowie, potrzebuje pomocy mianowicie szukam funkcji która będzie mi wskazywała najbliższą środę od dzisiejszej daty.
Może macie coś gotowego?
Z góry dziękuje za wszelkie wskazówki
Pozdrawiam
wookieb
3.10.2009, 14:38:40
Najbliższą srode w przyszłości czy przeszłości?
maciasgta
3.10.2009, 14:47:05
W przyszłości oczywiście
wookieb
3.10.2009, 15:13:14
maciasgta
7.10.2009, 18:43:57
Wszystko ładnie piękne, ale 7 października pokazuje prawidłowo, że kolejna środa będzie 14 października. Ale jutro tj. 8 października pokazuję już środę z 21 października?? Co jest nie tak?
wookieb
7.10.2009, 18:59:34
A pokaż kod. I jak sprawdzasz jaką date pokaze jutro.
maciasgta
7.10.2009, 19:01:10
No wstawiłem kod który podałeś mi 2 posty wyżej. Po prostu jest 7 października to pokazuję 14, a 8 paź. pokazuje, najbliższą jako 21 październik.
wookieb
7.10.2009, 19:05:17
A skąd wiesz co pokaże 8 października? Skoro dziś jest 7. Zmieniłem date systemy na 8 i mam prawidłową date. Więc powiedz na jakiej podstawie stwierdzasz, że jutro pokaże ci 21?
maciasgta
7.10.2009, 19:08:47
Na localhost zmieniam datę systemową na jutro i stąd wiem
wookieb
7.10.2009, 19:13:26
Więc upewnij się w 100% ze napewno dobrą datę ustawiłeś bo mi pokazuje prawidłowy wynik. Dobrze by było gdybyś jeszcze napisał jutro
maciasgta
7.10.2009, 19:15:44
09-10-2009
Najbliży termin: 21-10-2009
echo"<i><B>Najbliży termin: ".date('d-m-Y', strtotime('next Wednesday'))."</b></i><BR><BR>";
Ustawiłem datę 9 października i tak mi pokazuję, to nie wiem magia chyba albo jakieś czary..
Wicepsik
7.10.2009, 19:20:24
U mnie też dobrze działa.
Po co dałeś cudzysłowy w pierwszej linii kodu ?
bogdan89
7.10.2009, 19:22:23
a zobacz to, mi daje wynik:
14-10-2009, 00:00
maciasgta
7.10.2009, 19:25:14
a mi daje : 21-10-2009, 00:00
To może coś z tym moim localhostem się popsuło, jeżeli u Was jest OK to u mnie coś nie tak.
Dzięki za fatygę
wookieb
7.10.2009, 19:37:41
Drugą opcja jest zastosowanie innej funkcji wyliczającej.
// dni to dodania od aktualnej daty
$daysToAdd = (10
- date('w'))%7; if($daysToAdd === 0)$daysToAdd = 7;
Oczywiście można to napisać w wieeele różnych sposób. Ja wybrałem akurat taki.
celbarowicz
7.10.2009, 19:55:13
<?php
echo "Dzisiaj=";
$data = date("Y-m-d");
echo $data;
echo "--->";
$dzisiejszy_dzien_tygodnia=date("D");
echo $dzisiejszy_dzien_tygodnia;
echo "<br>";
// jeśli lista ma być krótsza to zmień w pętli liczbę 27 na inną(minimum 7)
for($dni=1;$dni<=27;$dni++){
$dzien = date("Y-m-d",(strtotime($data) + (60*60*24*$dni)));
echo "Za ".$dni." będzie ".$dzien;
echo "----->";
$dzientygodnia = date("D",(strtotime($data) + (60*60*24*$dni)));
if( $dzientygodnia=="Wed") { echo $dzientygodnia;}else { }
echo "<br>";
}
//jak nazwa wskazuje---celbarowicz , niepotrzebne elementy można wyrzucić ,
?>
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.