在Php中更改默认时区


Changing Default TimeZone in Php

我有我的服务器托管在美国,我希望我的php脚本遵循英国时区,所以我所做的是我改变了时区使用php时区函数下面描述

date_default_timezone_set("Europe/London");

它在我的wamp服务器上工作得很好,但是当我上传文件到我的远程服务器时,它忽略了这个函数并使用默认的美国时间。

我发现我的服务器使用的是php4,这个函数在php5或更高的版本上工作,所以有没有其他方法来处理php4

谢谢

使用PHP更改时区是在5.1版本中添加的,因此任何尝试在没有自定义时间函数的情况下更改PHP 4的时区的尝试都是不可能的。

你最好的选择是切换到一个现代的托管提供商,定期更新PHP,或者给自己一个服务器,在我看来,Rackspace有惊人的价格,而LiquidWeb有惊人的支持,这样你就可以运行你想要的服务器软件的确切版本。

然而,如果你绝对想坚持使用PHP4,你需要创建自定义的时间函数,例如:

function gmt_time()
{
    // Return time minus current timezone second offeset
    return time() - date("Z", time());
}
function my_time($offset = 0)
{
    // Return GMT time + offset hours
    return gmt_time() + ($offset * 60 * 60);
}
echo date("g:iA, l jS F Y", my_time(11)); // GMT +11 time.

但是,请注意,在date()函数中使用时区参数,如Z, T, P等不会改变。