Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Porównywanie godzin
sematuszewski
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 3.11.2010

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


Witam serdecznie chciałbym prosić o pomoc, otóż nie mogę wymyślić w jaki sposób porównać godziny. Chodzi mi o to że skrypt będzie zwrazał "prawdę" np. w przedziale od 20:00-1:00, a potem fałsz (IMG:style_emoticons/default/smile.gif) . Napisałem sobie taką funkcję:

  1. $czasstart='20:00';
  2. $czasstop='22:00';
  3.  
  4. if (date("H:i")>=$czasstart and date("H:i")<=$czasstop)
  5. {
  6. echo 'tak';
  7. }
  8. else {
  9. echo 'nie';
  10. }


Skrypt porównuje aktualną godzinę z godzinami w zmiennych (IMG:style_emoticons/default/smile.gif) W tym przypadku jeśli godzina aktualna jest >= godzinie startowej i <= godzinie końcowej skrypt się wykonuje 'TAK' w przeciwnym razie 'NIE'...

I teraz moje pytanie jak zrobić to, gdyż jeśli w zmiennej podstawię godzinę 1:00 no to skrypt już nie działa prawidłowo (IMG:style_emoticons/default/smile.gif)
Może jakaś sugestia/podpowiedź. Oczywiście format godziny nie musi być 24h równie dobrze może być 12h, byleby to działało (IMG:style_emoticons/default/smile.gif)

Pozdro...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sematuszewski
post
Post #2





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 3.11.2010

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


Dzięki za odpowiedź (IMG:style_emoticons/default/smile.gif)

Czyli jakby to zrobić godzinę rozbić na dwie skłądowe tj.
- godzina
- minuty

I potem każde kolejno porównywac (IMG:style_emoticons/default/questionmark.gif)


Tak bardziej nawiązując...

Mam panel administratora, w którym chcę ustawić np. wyśiwetlanie się komunikatów o danej godzinie+minuty.
Myślę że wiadomo o co chodzi (IMG:style_emoticons/default/smile.gif)

Tylko nie wiem jak zrobić aby godzina 1:00 była godziną późniejszą niż np. 20:00. W pm/am również nie wiem jak to rozwiązać, gdyż nie mam pomysłu (IMG:style_emoticons/default/smile.gif)

Z rozbiciem na składowe można zrobić tak:

  1. $czasstartg=20;
  2. $czasstartm=10;
  3. $czasstopg=22;
  4. $czasstopm=00;
  5.  
  6. if (date("H")>=$czasstartg and date("i")>=$czasstartm and date("H")<=$czasstopg and date("i")<=$czasstopm)
  7. {
  8. echo 'tak';
  9. }
  10. else {
  11. echo 'nie';
  12. }


No ale niestety to nadal nie rozwiązuje problemu, bo jeśli jest godzina 20, a czas zakończenia to 1 w nocy no to i tak nie działa (IMG:style_emoticons/default/smile.gif)

PS. zmienne z końcówką "g" to godziny, a z "m" minuty (IMG:style_emoticons/default/tongue.gif)

Edit:

No ale jeśli potraktuję to jako jedną liczbę to godzina 23:00 = 2300, a godzina 01:00 = 100 więc tak czy tak nie będzie działało (IMG:style_emoticons/default/smile.gif)

UNIX (IMG:style_emoticons/default/questionmark.gif) Może jakieś podpowiedzi (IMG:style_emoticons/default/tongue.gif)

Ten post edytował sematuszewski 3.11.2010, 22:42:25
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.10.2025 - 00:15