Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Funkcja najbliższa środa
maciasgta
post
Post #1





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 12.01.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Najbliższą srode w przyszłości czy przeszłości?
Go to the top of the page
+Quote Post
maciasgta
post
Post #3





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 12.01.2008

Ostrzeżenie: (0%)
-----


W przyszłości oczywiście (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. echo date('Y-m-d H:i:s', strtotime('next Wednesday'));
Go to the top of the page
+Quote Post
maciasgta
post
Post #5





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 12.01.2008

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A pokaż kod. I jak sprawdzasz jaką date pokaze jutro.
Go to the top of the page
+Quote Post
maciasgta
post
Post #7





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 12.01.2008

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
wookieb
post
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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?
Go to the top of the page
+Quote Post
maciasgta
post
Post #9





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 12.01.2008

Ostrzeżenie: (0%)
-----


Na localhost zmieniam datę systemową na jutro i stąd wiem (IMG:style_emoticons/default/smile.gif)

Ten post edytował maciasgta 7.10.2009, 19:12:20
Go to the top of the page
+Quote Post
wookieb
post
Post #10





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
maciasgta
post
Post #11





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 12.01.2008

Ostrzeżenie: (0%)
-----


09-10-2009Najbliży termin: 21-10-2009

  1. echo"".date('d-m-Y')."";
  2.  
  3.  
  4. 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..

Go to the top of the page
+Quote Post
Wicepsik
post
Post #12





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


U mnie też dobrze działa.

Po co dałeś cudzysłowy w pierwszej linii kodu ?
Go to the top of the page
+Quote Post
bogdan89
post
Post #13





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. $data = strtotime('2009-10-09');
  2. echo date('d-m-Y, H:i', strtotime('next wednesday', $data));


a zobacz to, mi daje wynik: 14-10-2009, 00:00
Go to the top of the page
+Quote Post
maciasgta
post
Post #14





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 12.01.2008

Ostrzeżenie: (0%)
-----


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ę (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
wookieb
post
Post #15





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Drugą opcja jest zastosowanie innej funkcji wyliczającej.
  1. // dni to dodania od aktualnej daty
  2. $daysToAdd = (10 - date('w'))%7;
  3. if($daysToAdd === 0)$daysToAdd = 7;
  4.  
  5. echo date('Y-m-d H:i:s', mktime(0,0,0, date('m'), date('d') + $daysToAdd));


Oczywiście można to napisać w wieeele różnych sposób. Ja wybrałem akurat taki.
Go to the top of the page
+Quote Post
celbarowicz
post
Post #16





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


<?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ć ,

?>

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 00:52