最佳方式存储不同时区的日期/时间

9 mysql

什么是以统一的方式存储时区信息和日期/时间的最佳方式,以便人们可以在当地时间从世界任何地方输入时间?然后,其他用户可以在他们自己的本地时间和网页上的原始本地时间查看时间.

Jim*_*m C 8

将时间数据存储为GMT.使用当地时间显示它.这需要与GMT的简单偏移.现在,如果政客们将单独留出日光节约时间的开始和结束日期......

  • 或者完全摆脱夏令时,因为我们不是很多人每天早上都要做农活. (2认同)

Dom*_*ger 8

我同意Staale,但补充说,时间应该存储在Zulu时间(通常称为UTC),以便更容易地转换到其他时区.不要依赖于在服务器使用的时区中存储数据.


Hal*_*luk 6

我建议在UTC时区插入日期.这将为您节省很多头痛(夏令时问题等......)

"INSERT INTO abc_table (registrationtime) VALUES (UTC_TIMESTAMP())"
Run Code Online (Sandbox Code Playgroud)

当我查询我的数据时,我使用以下PHP脚本

<?  while($row = mysql_fetch_array($registration)){ 

  $dt_obj = new DateTime($row['message_sent_timestamp']." UTC");
  $dt_obj->setTimezone(new DateTimeZone('Europe/Istanbul'));
  echo $formatted_date_long=date_format($dt_obj, 'Y-m-d H:i:s'); } ?>
Run Code Online (Sandbox Code Playgroud)

你可以在这里用一个可用的php时区替换datetimezone值: