Drukowana wersja tematu
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
$dt = new \DateTime('2000-12-31 22:34:11');
$dt->modify("+1 hour");
if($dt->format("N") === 6 || $dt->format("N") === 7)
{
http://www.php.net/echo 'ok';
}
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
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
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!
<?php
if(!function_exists('CompareDates')) {
function CompareDates($dateObj1, $dateObj2, $timeObj, $tabObj){
date_default_timezone_set("Europe/Warsaw");
if( ( $dateObj1 == $tabObj[0] && $dateObj2 >= $timeObj ) || ( $dateObj1 == $tabObj[1] ) || ( $dateObj1 == $tabObj[2] && $dateObj2 < $timeObj ) ) {
http://www.php.net/echo 'Jest pomiedzy: piatek 23:00 i niedziela 23:00';
}else {
http://www.php.net/echo 'Data nie jest pomiedzy piatek 23 i niedziela 23';
};
};
};
CompareDates(http://www.php.net/date('w'), http://www.php.net/date('G'), 23, http://www.php.net/array(5,6,0));
?>
Napisany przez: Pyton_000 20.02.2019, 10:56:59
<?php
$start = new DateTime('friday 23:00');
$end = new DateTime('sunday 23:00');
$compare = new DateTime('saturday 21:00');
if($compare > $start && $compare < $end) {
http://www.php.net/echo 'OK';
}
Napisany przez: dublinka 20.02.2019, 10:57:40
Można jeszcze w taki sposób.
<?php
date_default_timezone_set("Europe/Warsaw");
$startDate="5/23"; // 5 to dzien tygodnia czeli piatek; 23 to godzina
$endDate="7/22"; // 7 to niedziela a 22 godzina i bedzie dostepne do 22:59
$check=http://www.php.net/date('N') .'/'.http://www.php.net/date('G');
if(http://www.php.net/max($startDate,$check)==http://www.php.net/min($endDate,$check)){
http://www.php.net/echo 'Jest pomiedzy: piatek 23:00 i niedziela 23:00';
}else{
http://www.php.net/echo 'Data nie jest pomiedzy piatek 23 i niedziela 23';
}
?>
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)