Huono viritelmä - tämän näemmä pystyi tekemään helpomminkin.
'Alla oleva' tulee erikseen. Ja sitten laiskan koodarin ohjeita, switchin voi helposti korvata taulukolla, jossa viikonpäivät ovat noissa indekseissä ja
voi korvata näin:
<?php $tempus = ($aikaleima>=$nykyhetki) ? " on " : " oli "; ?>
Melkein saman tekee seuraava 'näppärä' funkkari ja funktiokutsu :).
<?php function getDay($aika) { return (((mktime(0,0,0,(int)date("m"),(int)date("d"), (int)date("Y"))-$aika)<=0) ? "on" : "oli")." ".trim(substr("sunnuntai maanantai tiistai keskiviikkotorstai perjantai lauantai", 11*(int)date("w",$aika),11)); } echo substr($_GET['aika'],0,2).".".substr($_GET['aika'],2,2).".".substr($_GET['aika'],4,4)." ".getDay(mktime(0,0,0,(int)substr($_GET['aika'],2,2),(int)substr($_GET['aika'],0,2),(int)substr($_GET['aika'],4,4)))."."; ?>
Vähän turhan hankalasti tehty: time() palauttaa suoraan senhetkisen ajan, date("w", $aika) ilmoittaa viikonpäivän numeron. Ja switch-rakennetta ei kannata käyttää koskaan, taulukko on paljon parempi vaihtoehto.
Sitä minäkin, että vähän turhan vaikeeksi olisi ollut tehty :P
Time():a en käyttänyt sen sisältämien sekunti-minuutti-tunti-infon takia, joka olisi aiheuttanut pyöristysvirheitä.
No, ainakin tästä tuli opittua jotakin päivämääristä, joka oli ennen minulle lähes koskematon alue PHP:ssä lukuunottamatta päivän tulostusta. Switch tuli ulkomuistista :p
Aihe on jo aika vanha, joten et voi enää vastata siihen.