开发者

Server is the wrong time

So I am from the UK and have hosting in the US. I contacted my host and said that my server time is set 6 hours behind GMT. They said I need to alter this in my CMS.

How would i go about doing this? Whenever i put now() i am getting the wrong time.

Never 开发者_开发问答seen this before, could anyone offer any suggestions?


You can change the timezone using PHP

putenv("TZ=Europe/London");

or if that produces an error:

date_default_timezone_set('Europe/London');

Alternatively if you can gain access to your php.ini (maybe not due to your hosting)

date.timezone = "Europe/London"

Change the setting to the above and you should be ok. Additional to the above - you can set the php.ini with PHP

ini_set('date.timezone', 'Europe/London');

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


Edit:

In my rush to answer - you could write GMT instead of Europe/London


For MySQL - you can execute SET time_zone = 'GMT' before your queries to set the time zone time_zone config docs.

For PHP - you can execute date_default_timezone_set() using one of the supported timezones. You could also set the value using a .htaccess directive:

php_value date.timezone UTC


You could work out how many seconds you are in front of the location in the US the server time is set to and add this value to your timestamp to get the correct time.

For example, if the server is in New York then this is 18000 seconds behind London time. So, getting the correct date would be: <?php $now = date('d M Y', (time() + 18000)) ?>


Use DateTime::setTimeZone to define the timezone. The documentation is in http://www.php.net/manual/en/datetime.settimezone.php

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜