sql >> Databasteknik >  >> RDS >> Mysql

konvertera tidszon till en annan tidszon

Först måste du instansiera datetime-objektet med den ursprungliga tidszonen. Sedan, efter att datetime-objektet har instansierats, justera tidszonen med DateTime::setTimezone() .

Se den här koden, där jag har använt Asia/Hong_Kong som ett exempel GMT+8 tidszon:

$time = "2012-11-07 15:05:26"; // fetch from database
$date = new DateTime($time,new DateTimeZone('Asia/Hong_Kong'));
$date->setTimezone(new DateTimeZone('Europe/Berlin'));
echo $date->format('Y-m-d H:i:s'); // yields 2012-11-07 08:05:26

Om alla originaldatum alltid är avsedda som GMT+8, och din PHP-applikation är inställd på att använda GMT+8 också (ställ med date_default_timezone_set() , till exempel), finns det inget behov av att skicka den initiala DateTimeZone objekt, som nyskapat DateTime objekt kommer automatiskt att skapas med den tidszonen.



  1. MySQL (eller PHP?) grupperar resultat efter fältdata

  2. 4 sätt att kontrollera en kolumns datatyp i MySQL

  3. Hantering av tidszon i webbapplikation

  4. SQL för att beställa en alfanumerisk sträng efter den numeriska delen