php date()和time()函数的可移植性

时间:2011-11-02 16:22:38

标签: php date time cron

我的理解是,php的native()和time()函数将根据服务器位置的本地时间给我一个时间戳或日期。首先,如果我错了,请随时告诉我。

所以如果是这样的话,我需要编写一些函数来确定cron作业是否应该执行的时间,我需要将其自定义为默认时区。如果我错了,请再次纠正我。

所以说,如果我这样做然后更改了托管服务器,我需要重写确定时间正确的文件,因为gmt的时区偏移现在会有所不同。

是这种情况还是有更好的方法?

1 个答案:

答案 0 :(得分:2)

  php原生的

date()和time()函数会给我一个基于服务器位置的本地时间格式化的时间戳或日期

不是100%真实。 time()将返回相同的值,无论位置,时区,设置等如何,因为所有unix时间戳都是UTC。

其次,date()将根据PHP的时区设置(通常与服务器相同)返回格式化值。有关示例和详细信息,请参阅php.net/date_default_timezone_set。强烈建议(即使是PHP自己的错误报告)您的应用程序很早就设置了默认时区以避免问题。

  

所以说,如果我这样做然后更改了托管服务器,我需要重写确定时间正确的文件,因为gmt的时区偏移现在会有所不同。

这就是为什么在您的应用程序中设置date_default_timezone_set非常重要的原因。这使它具有更多的可移植性,因此当您移动服务器时,您无需担心更改其时间设置。