sql >> Databasteknik >  >> RDS >> Mysql

PHP/MySQL-tidszonsförtydligande

Jag tror att det är detta du är ute efter;

$dt_obj = new DateTime($row['date']); 
$dt_obj->setTimezone(new DateTimeZone('America/Los_Angeles')); 
echo $dt_obj->format('Y-m-d H:i:s');

Använd listan över tidszoner som stöds .

Uppdatering till redigerad fråga:Gör något så här för att säkerställa att PHP ser tiden från databasen som UTC-tid:

$row['time'] = '2009-11-08 09:06:40';

$dt_obj = new DateTime($row['time'], new DateTimeZone('UTC')); 
echo 'UTC: ' . $dt_obj->format('Y-m-d H:i:s') . '<br />';  // UTC: 2009-11-08 09:06:40
$dt_obj->setTimezone(new DateTimeZone('America/Los_Angeles')); 
echo 'Los Angeles: ' . $dt_obj->format('Y-m-d H:i:s');  // Los Angeles: 2009-11-08 01:06:40


  1. Omvända effekten av `mysqli_real_escape_string`

  2. Hur sammanfogar man kolumner med Laravel 4 Eloquent?

  3. Hur testar man om JDBC-drivrutinen är korrekt installerad och om DB:n kan anslutas?

  4. @BatchSize en smart eller dum användning?