【问题标题】:MySQL timestamp using the server's time....but it's not my timeMySQL时间戳使用服务器的时间....但这不是我的时间
【发布时间】:2016-04-05 18:49:23
【问题描述】:

我位于某个时区,但我的服务器提前一小时。当我使用时间戳列保存新记录时,它会将时间显示为提前一小时。

从长远来看,这将如何影响我?我将如何更改查询以返回我的时间而不是服务器的时间?或者我根本不应该担心这个?我是网络开发新手...

【问题讨论】:

  • 您可以使用SET TIMEZONE 设置用于该数据库连接的时区。

标签: mysql wordpress time server utc


【解决方案1】:

连接数据库后执行查询:

SET time_zone = 'Europe/London';

时区列表:http://php.net/manual/en/timezones.php


或通过 WordPress 设置更改:

http://help.coschedule.com/hc/en-us/articles/214455448-How-To-Change-Your-WordPress-Timezone

【讨论】:

  • 我正在使用 CPanel 的 PHPMyAdmin,所以我没有初始化与数据库的连接的脚本。有没有办法在 PHPMyAdmin 中做到这一点?
  • 您的 cPanel 中有 PHP config 选项吗?
  • 或在 PHPMyAdmin 的 SQL 选项卡中键入 SET GLOBAL time_zone = 'Europe/London';。但你必须拥有 SUPER 特权。
  • 我没有 PHP 配置,不幸的是也没有超级权限。不过我很好奇 - 假设最终我的网站将接收来自世界各地的员工,他们将处理客户服务(无需编写代码)。那么真正重要的是根据用户正在检索信息输出适当的时间,对吧?将 PHPMyAdmin 中的时区设置为我的时间似乎相当不必要......不是吗?
  • 因此,经过大量研究,普遍共识同意您所说的,即在服务器中存储为 UTC 并在输出到客户端时进行格式化。但是,我不明白我的 PHP 脚本和 MySQL 设置应该如何看待这一切。我发现time() 以秒为单位返回 UTC 时间,但我真的应该像这样将它存储在我的数据库中吗?大多数人是这样的吗?另外,我会使用什么字段类型 - DATETIME 或 VARCHAR 什么的?存储前需要在PHP脚本中格式化吗?
猜你喜欢
  • 1970-01-01
  • 2020-10-24
  • 1970-01-01
  • 1970-01-01
  • 2014-04-19
  • 2020-05-03
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
相关资源
最近更新 更多