Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ PHP _ przedziały czasu

Napisany przez: doomink 19.02.2019, 01: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!


Napisany przez: Tomplus 19.02.2019, 06:46:37

Zły dział.

Takich pytń jest multum warto skorzystać z wyszukiwarki:
http://forum.php.pl/Porownanie_dat_i_obliczenie_pozostalego_czasu_t101559.html

Napisany przez: doomink 19.02.2019, 15:23:09

Cytat(Tomplus @ 19.02.2019, 06:46:37 ) *
Zły dział.

Takich pytń jest multum warto skorzystać z wyszukiwarki:
http://forum.php.pl/Porownanie_dat_i_obliczenie_pozostalego_czasu_t101559.html

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.

Napisany przez: KR2615 19.02.2019, 15:41:16

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

Napisany przez: Lord 19.02.2019, 16:37:39

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. http://www.php.net/echo 'ok';
  7. }
  8.  

Napisany przez: nospor 19.02.2019, 18:11:23

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.

Napisany przez: doomink 19.02.2019, 19:20:04

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.

Napisany przez: Tomplus 20.02.2019, 07:53:06

@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.

Napisany przez: dublinka 20.02.2019, 08:54:00

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. http://www.php.net/echo 'Jest pomiedzy: piatek 23:00 i niedziela 23:00';
  12.  
  13. }else {
  14.  
  15. http://www.php.net/echo 'Data nie jest pomiedzy piatek 23 i niedziela 23';
  16.  
  17. };
  18. };
  19. };
  20. CompareDates(http://www.php.net/date('w'), http://www.php.net/date('G'), 23, http://www.php.net/array(5,6,0));
  21. ?>

Napisany przez: Pyton_000 20.02.2019, 10:56:59

  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. http://www.php.net/echo 'OK';
  9. }

Napisany przez: dublinka 20.02.2019, 10:57:40

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=http://www.php.net/date('N') .'/'.http://www.php.net/date('G');
  7.  
  8. if(http://www.php.net/max($startDate,$check)==http://www.php.net/min($endDate,$check)){
  9. http://www.php.net/echo 'Jest pomiedzy: piatek 23:00 i niedziela 23:00';
  10. }else{
  11. http://www.php.net/echo 'Data nie jest pomiedzy piatek 23 i niedziela 23';
  12. }
  13.  
  14. ?>
  15.  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)