PHP téli vagy nyári

PHP téli vagy nyári
2021-11-06T17:44:54+01:00
2021-11-06T22:08:06+01:00
2022-10-15T21:21:28+02:00
gyendresz
Előre is bocs mindenkitől!

Ennek nem kellene megmondani az adott időpont téli vagy nyári?

<?php $d=mktime(11, 14, 54, 11, 06, 2021); echo "Created date is " . date("Y-m-d h:i:sa", $d)."<br>"; if( date("I", $d) ) { print "Nyári<br>" ; }else{ print "Téli<br>" ; } $d=mktime(11, 14, 54, 10, 06, 2021); echo "Created date is " . date("Y-m-d h:i:sa", $d)."<br>"; if( date("I", $d) ) { print "Nyári<br>" ; }else{ print "Téli<br>" ; } ?>
Mutasd a teljes hozzászólást!
Ez nagyon bizonytalan megközelítés. Nem tudod a szerver időzónáját, ahogyan abban se lehetsz biztos, hogy az a unix timestamp, amit az mktime ad, az UTC-ben értendő vagy sem (egyébként igen), szóval én így csinálnám, hogy tutibiztosan jó legyen:

<?php //ISO-8601 szabvány szerint adom meg az időt helyi időként, magyarországi időzónában értelmezve $datetime = new DateTimeImmutable("2021-11-11T11:14:54", new DateTimeZone("Europe/Budapest")); //string("1")-et ad vissza, ha a DST aktív (vagyis ha nyári idő) $is_summertime = $datetime->format("I") === "1"; print $is_summertime ? "Nyári" : "Téli";
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd