In MySQL doe ik een "update mytable set mytimestamp = utc_timestamp()" waarbij in de kolom mytimestamp inderdaad de UTC tijd terecht komt (ie. 2010-12-13 18:59:33)
Indien ik dit in PHP wil afbeelden in de lokale tijd gaat het echter fout...
Code: Selecteer alles
<?php date_default_timezone_set("Europe/Brussels"); ?>
date db: <?php echo $row['mytimestamp'] ?><br/>
strtotime: <?php echo strtotime($row['mytimestamp']) ?><br/>
date: <?php echo date("l, F jS Y G:i", strtotime($row['mytimestamp'])) ?><br/>
date_default_timezone_get: <?php echo date_default_timezone_get(); ?><br/>
date.timezone: <?php echo ini_get('date.timezone'); ?>
De timestamp die uit de database komt is dus correct, maar het probleem zit hem dat strtotime deze timestamp nogmaals gaat omzetten in UTC (op basis van de date_default_timezone_get) zodat hij op 17:59 uitkomt, en daarna de date functie hem terug naar de lokale tijd zet (wederom op basis van de date_default_timezone_get) zodat hij terug op 18:59 uitkomt (ipv. 19:59).date db: 2010-12-13 18:59:33
strtotime: 1292263173
date: Monday, December 13th 2010 18:59
date_default_timezone_get: Europe/Brussels
date.timezone:
Tips hoe ik dit het beste oplos... ?