Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php时间偏移mysql实时_Php_Mysql_Sql_Timezone_Gmt - Fatal编程技术网

Php时间偏移mysql实时

Php时间偏移mysql实时,php,mysql,sql,timezone,gmt,Php,Mysql,Sql,Timezone,Gmt,在股票市场应用程序中,我们发现了一个bug,它出现在日变化减去时间偏移量之后。i、 e.在我们的案例中,它发生在服务器时间00:00到02:00,在这里我们需要时间GMT+2。php正在返回超出时间戳的错误日期值。例如,昨天晚上1:15左右php返回2014年8月28日,即使实际日期是2014年8月29日。后来,我发现PHP总是考虑时间戳作为GMT的日期,所以MySQL返回正确的日期值的时间戳,PHP不。正因为如此,这个bug才会出现一段时间 我在网上搜索了一下。有人提到了php的这种行为,但大

在股票市场应用程序中,我们发现了一个bug,它出现在日变化减去时间偏移量之后。i、 e.在我们的案例中,它发生在服务器时间00:00到02:00,在这里我们需要时间GMT+2。php正在返回超出时间戳的错误日期值。例如,昨天晚上1:15左右php返回2014年8月28日,即使实际日期是2014年8月29日。后来,我发现PHP总是考虑时间戳作为GMT的日期,所以MySQL返回正确的日期值的时间戳,PHP不。正因为如此,这个bug才会出现一段时间

我在网上搜索了一下。有人提到了php的这种行为,但大多数情况下,他们给出了在php.ini中更改timezoen的解决方案。但是这个解决方案不能在这里使用。。
有人知道解决方案吗?

这是您需要的功能-

或者在php.ini文件中-顶部添加

date.timezone = "US/Central" //or your city

您还可以使用Etc/gmt2

您的MySQL实例和PHP服务器实例具有不同的时区,您需要对此进行更正,方法是将两者配置为相同的时区,或者在代码中实现解决方案以适应这种差异。我建议采用前者。我通常只是将所有服务器配置设置为GMT,并处理时区转换,以便在应用程序层中显示。获得+2固定偏移区域(符号颠倒)将是
Etc/GMT-2
。但我建议不要使用这些,因为它们不考虑DST。
date.timezone = "US/Central" //or your city