Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> przedziały czasu
doomink
post 19.02.2019, 01:33:11
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 23.09.2010

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


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!

Go to the top of the page
+Quote Post
Tomplus
post 19.02.2019, 06:46:37
Post #2





Grupa: Zarejestrowani
Postów: 1 828
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


Zły dział.

Takich pytń jest multum warto skorzystać z wyszukiwarki:
Temat: Porownanie dat i obliczenie pozostalego czasu
Go to the top of the page
+Quote Post
doomink
post 19.02.2019, 15:23:09
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 23.09.2010

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


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.

Ten post edytował doomink 19.02.2019, 15:27:16
Go to the top of the page
+Quote Post
KR2615
post 19.02.2019, 15:41:16
Post #4





Grupa: Zarejestrowani
Postów: 311
Pomógł: 13
Dołączył: 7.05.2007

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


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


--------------------
Go to the top of the page
+Quote Post
Lord
post 19.02.2019, 16:37:39
Post #5





Grupa: Zarejestrowani
Postów: 239
Pomógł: 32
Dołączył: 10.03.2004

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


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.  


Ten post edytował Lord 19.02.2019, 16:45:02
Go to the top of the page
+Quote Post
nospor
post 19.02.2019, 18:11:23
Post #6





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
doomink
post 19.02.2019, 19:20:04
Post #7





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 23.09.2010

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


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.

Ten post edytował doomink 19.02.2019, 19:20:43
Go to the top of the page
+Quote Post
Tomplus
post 20.02.2019, 07:53:06
Post #8





Grupa: Zarejestrowani
Postów: 1 828
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


@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.
Go to the top of the page
+Quote Post
dublinka
post 20.02.2019, 08:54:00
Post #9





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


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


Ten post edytował dublinka 20.02.2019, 09:11:44


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 20.02.2019, 10:56:59
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


  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. }
Go to the top of the page
+Quote Post
dublinka
post 20.02.2019, 10:57:40
Post #11





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


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.  


Ten post edytował dublinka 20.02.2019, 11:00:06


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 21:01