【问题标题】:Can't change the Default timezone无法更改默认时区
【发布时间】:2012-06-01 07:39:56
【问题描述】:

我使用http://www.webhostingpad.com/ 托管我的网站,但我确实需要将默认时区更改为欧洲/塔林时间。我写信给他们,他们说他们不能为我更改。

所以我尝试了 date_default_timezone_set('Europe/Tallinn'); 但 php.ini 会覆盖它或 smth。因为如果我检查了 phpinfo,它仍然有“America/Chicago”之类的东西。

我也无法更改 php.ini 文件,但我复制了它并将其添加到我可以更改的目录中。添加了 date.timezone = "Europe/Tallinn" 并尝试了 ini_set('date.timezone', 'Europe/Tallinn'); 它更改了 phpinfo 中的默认时区,但如果在 mysql 数据库中我使用:on update CURRENT_TIMESTAMP

它添加的日期仍然错误 8 小时。

有人对如何解决这个问题有任何建议吗?

更新:

由于任何事情都没有解决,我的服务提供商说:如果您升级合同,那么您可以更改 mySQL 时区。

所以现在我试图通过用 php 添加当前日期时间来获得一些结果。

INSERT INTO points  (user_id, game_id, points, dateRight) VALUES($userid, $game, $points, sysdate()+3600)");

【问题讨论】:

  • 你试过了吗? ini_set('date.timezone', '欧洲/塔林');
  • 好的..那么你需要检查你的mysql服务器时区..检查这个链接dev.mysql.com/doc/refman//5.5/en/time-zone-support.html
  • 试过:SET time_zone = '+2:00';没有为我工作。对于: SET GLOBAL time_zone = '+2:00'; - 拒绝访问;您需要此操作的 SUPER 权限

标签: php mysql timezone timestamp


【解决方案1】:

尝试setlocale您当前的时区。

【讨论】:

  • 试过 setlocale(LC_ALL, "et_ET"); - 还是一样。
  • 抱歉,我看错了这个问题。所以在PHP中它按预期工作并且时区是正确的?但是现在你在 MySQL 中遇到了问题?
【解决方案2】:

你可以用date_default_timezone_set设置php默认时区,mysql看here

为什么是 mysql,因为更新 current_timestamp 的时间戳使用 mysql 默认时区。

【讨论】:

    猜你喜欢
    • 2012-11-25
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 2018-02-09
    • 1970-01-01
    • 2020-08-31
    • 2020-08-02
    相关资源
    最近更新 更多