Mysql
 sql >> база данни >  >> RDS >> Mysql

преобразуване на часова зона в друга часова зона

Първо, трябва да инстанцирате обекта datetime с оригиналната часова зона. След това, след като обектът datetime бъде инстанциран, коригирайте часовата зона с DateTime::setTimezone() .

Вижте този код, където използвах Asia/Hong_Kong като примерна часова зона GMT+8:

$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

Ако всички оригинални дати винаги се означават последователно като GMT+8 и вашето PHP приложение е настроено да използва и GMT+8 (задайте с date_default_timezone_set() , например), няма нужда да предавате първоначалния DateTimeZone обект, като новосъздадено DateTime обектите ще бъдат създадени автоматично с тази часова зона.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Показване на резултатите от SQL заявката в php

  2. mysql ГРЕШКА 1064 (42000):Имате грешка във вашия SQL синтаксис;

  3. MySQL Премахване на последващи прекъсвания на ред от колона

  4. Ръководство за проектиране на база данни за календарни събития и напомняния в MySQL

  5. Проблеми с MySQLdb връзката