如何在不同的服务器上获得相同的日期结果

时间:2012-09-07 18:27:26

标签: php date timezone

<?php

//                            viper-7            phpfiddle
fdate(1346976000);       // Fri 2012-09-07     Thu 2012-09-06
fdate(1348704000);       // Thu 2012-09-27     Wed 2012-09-26
fdate(time());           // see yourself

function fDate($what){echo date('D Y-m-d',$what).'<br>';}

?>

测试链接
http://codepad.viper-7.com/d4tUES
http://www.phpfiddle.org/main/code/zdx-u10

为了在任何服务器上获得相同的结果,我需要设置什么? 谢谢

我确信这是一个时区问题,但我不知道如何意识到这一点。

3 个答案:

答案 0 :(得分:2)

使用gmdate返回gmt时间

function fDate($what){echo gmdate('D Y-m-d',$what).'<br>';}

看看你是否还有问题。

答案 1 :(得分:1)

设置default timezone

将其设置为UTC或GMT,您可以将其用作所有服务器的基础

date_default_timezone_set('UTC'); 

fdate(time());  // will return the UTC time

答案 2 :(得分:1)

根据您所需的时区在脚本的开头添加date_default_timezone_set

<?php
date_default_timezone_set('America/Los_Angeles');
?>

List of Supported Timezones