Door
Hagee
op 15-03-2004 18:43
gewijzigd op 15-03-2004 18:46
1.377 views
Hallo,
Ik heb voor mijn nieuwsysteem bij het toevoegen een van een nieuw bericht (via een formuliertje) een veld met de huidige tijd, deze wordt automatisch door PHP met een timestamp gevuld.
Nu lees ik deze in het bericht in in het bericht, echter ik krijg de volgende rare notatie. Hoe zet ik deze om naar gewone notatie??
Voorbeeld:
=======
Gepost op: 2004-02-29 18:57:18
Dit moet uiteraard zijn:
================
Gepost op: 29-02-2004 18:57:18
<?
list($year,$month,$day,$hour,$minute,$second)=split("- :",$timestamp);
?>
dat zou moeten werken :)
dan heb je alle waardes in aparte variabelen, maar dit zou natuurlijk ook werken
<?
ereg_replace('([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2}','\\3-\\2-\\1 \\4:\\5:\\6',$timestamp);
?>
of dit:
<?
$year = substr($timestamp,0,4);
$month = substr($timestamp,5,2);
$day = substr($timestamp,8,2);
$hour = substr($timestamp,11,2);
$minute = substr($timestamp,14,2);
$second = substr($timestamp,17,2);
?>
kies maar wat jij het makkelijkst vind :)
btw ik denk dat de laatste mogelijkheid het minst cpu intensief is (de andere gebruiken regexp en dat is meestal langzamer)
Dan zou dit toch ook kunnen?
<?
# Splitsen op de space
$split = explode(" ", $timestamp);
# De datum halen
$date = explode("-", $split[0]);
# $date[0] geeft 't jaar, $date[1] de maand en $date[2] de dag
# Dan de tijd dies gewoon
$time = $split[1];
?>
Is dat niet korter (en mss wel beter) ?
Edit:
<?
# Dan zou je het dus zo gebruiken:
echo "Gepost op: $date[2] $date[1] $date[0] $time";
?>
niet zo onzeker mitch ;)
ja het kan ook op die manier, en die heb ik ook wel overwogen
maar ik vond split eventjes makkelijker omdat het dan met 1 functie kan
maar op jouw manier werkt het ook goed hoor, maar dan zou ik het op deze manier doen
<?
list($year,$month,$day)=explode('-',substr($timestamp,0,10));
?>