服务器是错误的时间

时间:2010-05-20 09:54:45

标签: php

所以我来自英国并在美国举办。 我联系了我的主人说我的服务器时间比GMT低6小时。 他们说我需要在我的CMS中改变它。

我将如何做到这一点? 每当我把现在()我错了。

之前从未见过,有人可以提出任何建议吗?

4 个答案:

答案 0 :(得分:8)

您可以使用PHP

更改时区
putenv("TZ=Europe/London");

或者如果产生错误:

date_default_timezone_set('Europe/London');

或者,如果您可以访问您的php.ini(可能不是由于您的托管)

date.timezone = "Europe/London"

将设置更改为上面的设置,您应该没问题。除上述内容外 - 您可以使用PHP

设置php.ini
ini_set('date.timezone', 'Europe/London');

http://www.php.net/manual/en/timezones.europe.php


编辑:

急于回答 - 您可以写 GMT 而不是欧洲/伦敦

答案 1 :(得分:1)

对于MySQL - 您可以在查询之前执行SET time_zone = 'GMT'以设置时区time_zone config docs

对于PHP - 您可以使用date_default_timezone_set()之一执行supported timezones。您还可以使用.htaccess指令设置值:

php_value date.timezone UTC

答案 2 :(得分:0)

您可以计算出服务器时间设置为美国位置前面的秒数,并将此值添加到您的时间戳以获得正确的时间。

例如,如果服务器位于纽约,那么这比伦敦时间落后18000秒。因此,获取正确的日期将是:<?php $now = date('d M Y', (time() + 18000)) ?>

答案 3 :(得分:0)

使用DateTime :: setTimeZone定义时区。文档位于http://www.php.net/manual/en/datetime.settimezone.php