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


portability of php date() and time() functions

这是我的理解,date()和time()函数原生php将给我一个时间戳或日期格式基于服务器的位置的本地时间。所以首先,如果我错了,请告诉我。

因此,如果是这种情况,我需要编写一些函数来确定cron作业的时间,以查看它是否应该执行,我需要将其自定义为默认时区。如果我说错了,请纠正我。

也就是说,如果我这样做,然后改变主机服务器,我需要重写确定时间正确的文件,因为gmt的时区偏移量现在会不同。

是这样还是有更好的方法?

PHP原生函数

date()和time()将根据服务器所在位置的本地时间为我提供时间戳或日期格式

并非100%正确。time()将返回相同的值,无论位置,时区,设置等,因为所有unix时间戳都是unutc。

其次,date()将根据PHP的时区设置(通常与服务器相同)返回格式化的值。参见php.net/date_default_timezone_set获取示例和更多信息。强烈建议(甚至是PHP自己的错误报告)应用程序尽早设置默认时区以避免问题。

也就是说,如果我这样做,然后改变主机服务器,我需要重写确定时间正确的文件,因为gmt的时区偏移量现在会不同。

这就是为什么在应用程序中设置date_default_timezone_set如此重要的原因。这给了它更多的可移植性,所以当你移动服务器时,你不需要担心改变它的时间设置。