我的理解是,php的native()和time()函数将根据服务器位置的本地时间给我一个时间戳或日期。首先,如果我错了,请随时告诉我。
所以如果是这样的话,我需要编写一些函数来确定cron作业是否应该执行的时间,我需要将其自定义为默认时区。如果我错了,请再次纠正我。
所以说,如果我这样做然后更改了托管服务器,我需要重写确定时间正确的文件,因为gmt的时区偏移现在会有所不同。
是这种情况还是有更好的方法?
答案 0 :(得分:2)
php原生的date()和time()函数会给我一个基于服务器位置的本地时间格式化的时间戳或日期
不是100%真实。 time()
将返回相同的值,无论位置,时区,设置等如何,因为所有unix时间戳都是UTC。
其次,date()
将根据PHP的时区设置(通常与服务器相同)返回格式化值。有关示例和详细信息,请参阅php.net/date_default_timezone_set。强烈建议(即使是PHP自己的错误报告)您的应用程序很早就设置了默认时区以避免问题。
所以说,如果我这样做然后更改了托管服务器,我需要重写确定时间正确的文件,因为gmt的时区偏移现在会有所不同。
这就是为什么在您的应用程序中设置date_default_timezone_set
非常重要的原因。这使它具有更多的可移植性,因此当您移动服务器时,您无需担心更改其时间设置。