Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Dnešní a zítřejší den v kalendáři označit jako nedostupný

Tomina10
verified
rating uzivatele
(10 hodnocení)
9. 10. 2020 11:08:18
Poklidný pátek všem zdepřítomným!
Měl bych takovou prekérku, z tohoto úryvku kódu mám definováno, že se mi v kalendáři objevuje aktuální den nedostupný. Avšak, potřeboval bych mít nedostupný i následující den...
Nemůže mi někdo prosím pomoc? Podle mého někde chybí znaménko, číslo a je to..
Ale furt nic :/
Děkuju moc..
$today = getdate(time());
$rows = 0;
while ($d <= $daysInMonth)
{
$s .= "n";
if ($this->weekNumbers)
{
$s .= $weekNumPattern;
}
for ($i = 0; $i < 7; $i++)
{
$scope = 0;
$timestamp = mktime(0, 0, 0, $month, $d, $year);
$isPast = false;
$class = "";
if ($d < 1 || $d > $daysInMonth) {
$class = $this->classEmpty;
} elseif ($timestamp <= $today) {
$isPast = true;
$class = $this->classPast;
$scope = -1;
} else {
$class = $this->classCalendar;
$scope = 1;
}
9. 10. 2020 11:08:18
https://webtrh.cz/diskuse/dnesni-a-zitrejsi-den-v-kalendari-oznacit-jako-nedostupny/#reply1465540
Ja bych k $today pripocetl 1 den, tedy +86400s :]
} elseif ( $timestamp <= ( $today + 86400 ) ) {
9. 10. 2020 13:31:09
https://webtrh.cz/diskuse/dnesni-a-zitrejsi-den-v-kalendari-oznacit-jako-nedostupny/#reply1465539
Tomina10
verified
rating uzivatele
(10 hodnocení)
9. 10. 2020 14:12:44
Napsal winexec;1599990
Ja bych k $today pripocetl 1 den, tedy +86400s :]
} elseif ( $timestamp <= ( $today + 86400 ) ) {
Ahoj,
děkuju za reakci. :)
Já to vyřešil nakonec takto, a tváří se že je vše v pořádku (ale nějak se mi tomu nechce moc věřit) :D
Tedy nejspíš použiju tvé řešení.
Děkuju :)
$scope = 0;
$timestamp = mktime(0, 0, 0, $month, $d, $year);
$nxt = mktime(0, 0, 0, $month, $d - 1, $year);
$isPast = false;
$class = "";
if ($d < 1 || $d > $daysInMonth) {
$class = $this->classEmpty;
} elseif ($nxt <= $today) {
$isPast = true;
$class = $this->classPast;
$scope = -1;
} else {
$class = $this->classCalendar;
$scope = 1;
}
9. 10. 2020 14:12:44
https://webtrh.cz/diskuse/dnesni-a-zitrejsi-den-v-kalendari-oznacit-jako-nedostupny/#reply1465538
To s tím přičítáním dne v sekundách může bejt mrzení, když neošetříš časový posuny, jako zimní a letní čas a tak dále, nebo se pletu? Jsem taky začátečník, jen dotaz do placu :-D
9. 10. 2020 14:20:38
https://webtrh.cz/diskuse/dnesni-a-zitrejsi-den-v-kalendari-oznacit-jako-nedostupny/#reply1465537
hm
verified
rating uzivatele
(20 hodnocení)
9. 10. 2020 15:02:04
Nepletes. lepsi udelat
strtotime(date('Y-m-d', $today).' +1 day');
nebo proste rovnou misto $today udelat
$tomorrow = strtotime('tomorrow');
a pracovat s tim misto s today...
btw neni treba
$today = getdate(time()); a pak $today;
proste strtotime('today');
9. 10. 2020 15:02:04
https://webtrh.cz/diskuse/dnesni-a-zitrejsi-den-v-kalendari-oznacit-jako-nedostupny/#reply1465536
Napsal Tomáš Maňhal;1599998
To s tím přičítáním dne v sekundách může bejt mrzení, když neošetříš časový posuny, jako zimní a letní čas a tak dále, nebo se pletu? Jsem taky začátečník, jen dotaz do placu :-D
Ta jedna hodinu posuvu (d.m.Y H:i:s) behem celeho dne (d.m.Y), nema na celkove datum vliv.
Pokud je dnes 9.10.2020 ... 2h nebo 3h rano ... stale je 9.10.2020 ... ktere autor porovnava.
31.12. -> 1.1. taky neni problem, protoze pracuje s timestamp, ktere se neustale zvysuje (+1s).
Ano, problem nastane az 19.1.2038, ale to uz je na jine tema.
Pouzit tedy zminenou druhou promennou: $tomorrow = strtotime('tomorrow'); ... je asi nejvhodnejsi reseni :)
9. 10. 2020 15:59:38
https://webtrh.cz/diskuse/dnesni-a-zitrejsi-den-v-kalendari-oznacit-jako-nedostupny/#reply1465535
hm
verified
rating uzivatele
(20 hodnocení)
9. 10. 2020 16:06:18
winexec: to teda je problem, pracuje s datumem 9.10.2020 00:00:00 kdyz predpokladame ze se dnes presouvaji hodiny ze 3. na 2. hodinu, znaemna to ze den se prodlouzil o 3600 sekund, pricist 86400 tedy zpusobi ze bude datum 9.10.2020 23:00:00 = datum se nezmeni i kdyz mel, zkratka pricitat sekundy kdyz chci menit dny/tydny/mesice je spatne v jakymkoliv pripade, je to bad practice a proboha to nikdo nedelejte :) pak se do programu zanasi uplne zbytecny tezko odhalitelny bugy...
9. 10. 2020 16:06:18
https://webtrh.cz/diskuse/dnesni-a-zitrejsi-den-v-kalendari-oznacit-jako-nedostupny/#reply1465534
Napsal Aleš Jiříček;1600013
winexec: to teda je problem, pracuje s datumem 9.10.2020 00:00:00 kdyz predpokladame ze se dnes presouvaji hodiny ze 3. na 2. hodinu, znaemna to ze den se prodlouzil o 3600 sekund, pricist 86400 tedy zpusobi ze bude datum 9.10.2020 23:00:00 = datum se nezmeni i kdyz mel, zkratka pricitat sekundy kdyz chci menit dny/tydny/mesice je spatne v jakymkoliv pripade, je to bad practice a proboha to nikdo nedelejte :) pak se do prorgamu zanasi uplne zbytecny tezko odhalitelny bugy...
Bavime se ale o ZITRKU, ktery prakticky nenastal, proto je to v tomto pripade jedno. Navic <= vse resi.
Pokud by se jednalo o DNESEK, pak s tebou na 1000% souhlasim ;)
9. 10. 2020 16:11:57
https://webtrh.cz/diskuse/dnesni-a-zitrejsi-den-v-kalendari-oznacit-jako-nedostupny/#reply1465533
hm
verified
rating uzivatele
(20 hodnocení)
9. 10. 2020 16:15:14
vubec nechapu o cem to mluvis, ten kod proste v den kdy se prechazi ze 3. hodiny zpet na 2. nebude fugnovat spravne, vsad se... Plus proste se to nedela a tecka. Zadny ze nekdy to nevad a nekdo jo, s timhle pristupem programuje prase, ne programator.
//edit vidim, pricitas k today, jsem to v hlave obratil, takze ta podminka projde, to o praseti nicmene plne plati :) a rekni co jsem prohral
9. 10. 2020 16:15:14
https://webtrh.cz/diskuse/dnesni-a-zitrejsi-den-v-kalendari-oznacit-jako-nedostupny/#reply1465532
Napsal Aleš Jiříček;1600015
vubec nechapu o cem to mluvis, ten kod proste v den kdy se prechazi ze 3. hodiny zpet na 2. nebude fugnovat spravne, vsad se... Plus proste se to nedela a tecka. Zadny ze nekdy to nevad a nekdo jo, s timhle pristupem programuje prase, ne programator.
//edit vidim, pricitas k today, jsem to v hlave obratil, takze ta podminka projde, to o praseti nicmene plne plati :) a rekni co jsem prohral
Aaa ... vidim Edit, takze uz si snad konecne rozumime. Vyhravas bludistaka :]
Je to prasokod, ale co nadelas ... kazdy dela, jak umi (autor, ja, ty ...)
9. 10. 2020 16:31:37
https://webtrh.cz/diskuse/dnesni-a-zitrejsi-den-v-kalendari-oznacit-jako-nedostupny/#reply1465531
Pro odpověď se přihlašte.
Přihlásit