Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przedziały czasu
Forum PHP.pl > Forum > PHP
doomink
mam problem z analizą czasu:
-pobieram aktualny czas: date('Y-m-d H:i:s') i chciałbym spr. czy jest on w przedziale od piątku 23.00 do niedzieli 23.00. Jak to zrobić?
Z góry bardzo dziękuję za pomoc!

Tomplus
Zły dział.

Takich pytń jest multum warto skorzystać z wyszukiwarki:
Temat: Porownanie dat i obliczenie pozostalego czasu
doomink
Cytat(Tomplus @ 19.02.2019, 06:46:37 ) *
Zły dział.

Takich pytń jest multum warto skorzystać z wyszukiwarki:
Temat: Porownanie dat i obliczenie pozostalego czasu

uwielbiam takie odp. ... Spr. w wyszukiwarce, ja nie chcę porównywać daty, ja muszę sprawdzić czy aktualnie trwa weekend (Piątek od 23.00 do Niedziela 23.00 czasu PL), czyli muszę spr jaki mamy dzień tygodnia.
KR2615
Wystarczy kilka ifów:
- jeśli dzień tygodnia = 4 i godzina > 23, zwróć true
- jeśli dzień tygodnia = 5, zwróć true
- jeśli dzień tygodnia = 6 i godzina < 23, zwróć true
w przeciwnym wypadku false
Lord
Cytat(doomink @ 19.02.2019, 17:23:09 ) *
uwielbiam takie odp. ... Spr. w wyszukiwarce, ja nie chcę porównywać daty, ja muszę sprawdzić czy aktualnie trwa weekend (Piątek od 23.00 do Niedziela 23.00 czasu PL), czyli muszę spr jaki mamy dzień tygodnia.

Nie używałem ale coś takiego znalazłem

http://php.net/manual/en/intlcalendar.isweekend.php

ewentualnie w date/DateTime dajesz w format N

  1.  
  2. $dt = new \DateTime('2000-12-31 22:34:11');
  3. $dt->modify("+1 hour");
  4. if($dt->format("N") === 6 || $dt->format("N") === 7)
  5. {
  6. echo 'ok';
  7. }
  8.  
nospor
Cytat
uwielbiam takie odp. ... Spr. w wyszukiwarce, ja nie chcę porównywać daty, ja muszę sprawdzić czy aktualnie trwa weekend (Piątek od 23.00 do Niedziela 23.00 czasu PL), czyli muszę spr jaki mamy dzień tygodnia.

Parafrazujac ciebie:
Uwielbiam takie odpowiedzi gdy szukajacy pomocy wie lepiej od wszystkich... Skoro wie lepiej to po co przychodzi tutaj... o to jest pytanie wink.gif

To zadanie mozna wlasnie tez rozwiazac przez porownanie daty a konkretnie czy twoja data lezy pomiedzy piatkiem wieczor a niedziela wieczor.
Oczywiscie mozna to tez rozwiazac tak jak podal KR2615

Oba rozwiazania zrobia co nalezy.
doomink
Cytat(nospor @ 19.02.2019, 18:11:23 ) *
Parafrazujac ciebie:
Uwielbiam takie odpowiedzi gdy szukajacy pomocy wie lepiej od wszystkich... Skoro wie lepiej to po co przychodzi tutaj... o to jest pytanie wink.gif

To zadanie mozna wlasnie tez rozwiazac przez porownanie daty a konkretnie czy twoja data lezy pomiedzy piatkiem wieczor a niedziela wieczor.
Oczywiscie mozna to tez rozwiazac tak jak podal KR2615

Oba rozwiazania zrobia co nalezy.

Dziękuje i oto mi chodziło:)
ps. wie i to najlepiej o co pyta:), a przychodzi po odp. -idea forum polega na pomocy i wskazywaniu konkretnych rozwiązań, posty typu "poszukaj sobie" itd. (w dodatku w tym przypadku przy braku dokładnego przeczytania pytania uważam za spam - DZIĘKUJE ZA PODZIELENIE SIĘ WIEDZĄ. Nie jestem dobry w php programuję w innym języku, a ten skrypt do tylko dodatek....więc sorry za banalne może dla niektórych pytanie.
Tomplus
@doomink
Ale wiesz, że właśnie Twoje odpowiedzi w szukaniu weekndu nie dość że są już na tym forum, to jeszcze w manualu PHP.
dublinka
Cytat(doomink @ 19.02.2019, 02:33:11 ) *
mam problem z analizą czasu:
-pobieram aktualny czas: date('Y-m-d H:i:s') i chciałbym spr. czy jest on w przedziale od piątku 23.00 do niedzieli 23.00. Jak to zrobić?
Z góry bardzo dziękuję za pomoc!



  1. <?php
  2.  
  3. if(!function_exists('CompareDates')) {
  4. function CompareDates($dateObj1, $dateObj2, $timeObj, $tabObj){
  5.  
  6.  
  7. date_default_timezone_set("Europe/Warsaw");
  8.  
  9. if( ( $dateObj1 == $tabObj[0] && $dateObj2 >= $timeObj ) || ( $dateObj1 == $tabObj[1] ) || ( $dateObj1 == $tabObj[2] && $dateObj2 < $timeObj ) ) {
  10.  
  11. echo 'Jest pomiedzy: piatek 23:00 i niedziela 23:00';
  12.  
  13. }else {
  14.  
  15. echo 'Data nie jest pomiedzy piatek 23 i niedziela 23';
  16.  
  17. };
  18. };
  19. };
  20. CompareDates(date('w'), date('G'), 23, array(5,6,0));
  21. ?>
Pyton_000
  1. <?php
  2. $start = new DateTime('friday 23:00');
  3. $end = new DateTime('sunday 23:00');
  4.  
  5. $compare = new DateTime('saturday 21:00');
  6.  
  7. if($compare > $start && $compare < $end) {
  8. echo 'OK';
  9. }
dublinka
Można jeszcze w taki sposób.

  1. <?php
  2.  
  3. date_default_timezone_set("Europe/Warsaw");
  4. $startDate="5/23"; // 5 to dzien tygodnia czeli piatek; 23 to godzina
  5. $endDate="7/22"; // 7 to niedziela a 22 godzina i bedzie dostepne do 22:59
  6. $check=date('N') .'/'.date('G');
  7.  
  8. if(max($startDate,$check)==min($endDate,$check)){
  9. echo 'Jest pomiedzy: piatek 23:00 i niedziela 23:00';
  10. }else{
  11. echo 'Data nie jest pomiedzy piatek 23 i niedziela 23';
  12. }
  13.  
  14. ?>
  15.  
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.