PHP-日期(';now';)的输出比本地时间提前6小时,但时区设置为正确的本地区域?

PHP-日期(';now';)的输出比本地时间提前6小时,但时区设置为正确的本地区域?,php,wordpress,date,timezone,gmt,Php,Wordpress,Date,Timezone,Gmt,我在美国中部时区的密苏里州圣路易斯。我们是格林尼治标准时间-6点 PHP.ini中的PHP时区设置为date.timezone=“America/Chicago” (芝加哥几乎在圣路易斯的正北方 回音日期(“现在”);生产日期:2015年12月19日凌晨2:45。编辑-我指的是日期(“F j,Y,g:I a”,标准时间(“现在”);而不是日期(“现在”) 当地时间(按日历和时钟)为2015年12月18日晚上8:45 以下是phpinfo()输出的日期信息 我认为如果设置了正确的时区,date(‘

我在美国中部时区的密苏里州圣路易斯。我们是格林尼治标准时间-6点

PHP.ini中的PHP时区设置为date.timezone=“America/Chicago”

(芝加哥几乎在圣路易斯的正北方

回音日期(“现在”);生产日期:2015年12月19日凌晨2:45。编辑-我指的是日期(“F j,Y,g:I a”,标准时间(“现在”);而不是日期(“现在”)

当地时间(按日历和时钟)为2015年12月18日晚上8:45

以下是phpinfo()输出的日期信息

我认为如果设置了正确的时区,date(‘now’)将返回本地时间和时间,但我完全错了

date()函数或PHP日期处理通常缺少什么


SimonT

您可以选择几种不同的方法来处理此问题:

  • 您可以使用
    date\u default\u timezone\u set
    覆盖Wordpress的时区设置

  • 您可以使用代替
    date
    函数,该函数接受构造函数中的时区

  • 您可以在WP Admin/Settings/General部分更改Wordpress的时区设置:


您可以选择几种不同的方法来处理此问题:

  • 您可以使用
    date\u default\u timezone\u set
    覆盖Wordpress的时区设置

  • 您可以使用代替
    date
    函数,该函数接受构造函数中的时区

  • 您可以在WP Admin/Settings/General部分更改Wordpress的时区设置:


您的服务器上的
date
UNIX命令的输出是什么?我不明白您的问题。它是如何获得输出的,我输入什么以及在哪里?它不是我的服务器,而是托管公司-date命令是在控制台输入的吗?您确定您的PHP环境指向正确的PHP.ini吗文件?请参阅。如果这没有帮助,请尝试以下内容。我在问题中显示的信息来自phpinfo()。应该是使用的信息,对吗?我在代码中添加了date\u default\u timezone\u set(“America/Chicago”);现在我得到了正确的日期。为什么phpinfo()会这样做是否显示相同的值而不生效?我没有权限执行您向我提出的问题的已接受答案中所述的操作。要查看phpinfo的输出-“加载的配置文件”显示我的托管帐户上的一个。我还需要检查其他事项吗?我真的不希望在所有代码中都设置时区。好的-找到了,但不确定如何继续。将phpinfo()添加到我遇到日期问题的函数中-它显示“默认时区UTC”该页面是wordpress博客的一部分。在显示phpinfo()输出的独立页面上,默认时区显示为America/Chicago。phpinfo()的Date部分中的所有其他信息都相同-只有默认时区不同。Date.timezone在两个phpinfo()中都显示为America/Chicago-独立且在wp页面上。我认为date.timezone将由日期函数使用。如果没有在代码中设置它,如何覆盖“UTC”?服务器上的
date
UNIX命令的输出是什么?我不明白你的问题。它是如何得到输出的,我输入什么,在哪里?它不是我的服务器,是托管公司-date命令是在控制台输入的吗?你确定你的PHP环境指向正确的PHP.ini文件吗?请参阅。如果这没有帮助,请尝试以下内容。我在问题中显示的信息来自phpinfo()。应该就是使用的信息,不是吗?我在代码中添加了日期\默认\时区\设置(“美国/芝加哥”);现在我得到了正确的日期。为什么phpinfo()会这样做是否显示相同的值而不生效?我没有权限执行您向我提出的问题的已接受答案中所述的操作。要查看phpinfo的输出-“加载的配置文件”显示我的托管帐户上的一个。我还需要检查其他事项吗?我真的不希望在所有代码中都设置时区。好的-找到了,但不确定如何继续。将phpinfo()添加到我遇到日期问题的函数中-它显示“默认时区UTC”该页面是wordpress博客的一部分。在显示phpinfo()输出的独立页面上,默认时区显示为America/Chicago。phpinfo()的Date部分中的所有其他信息都相同-只有默认时区不同。Date.timezone在两个phpinfo()中都显示为America/Chicago-独立且在wp页面上。我认为date.timezone将由日期函数使用。如果没有在代码中设置它,如何覆盖“UTC”?WP的时区已设置为Chicago,自安装以来一直存在。这是我检查的第一件事。帖子和评论日期始终显示正确的日期。正如我在给Matt Johnson的评论中所说,我将在所有脚本中设置时区-我已经输入了theme的function.php。我想知道WP是如何覆盖z的在我的php.ini文件中有一个设置-查看我的评论,上面是Matt Johnson是的,那就是我(同一个Matt Johnson)。在你的评论之前,还不清楚你的问题是关于WordPress的。我不是WordPress专家,但扫描源代码,WordPress似乎调用了
date\u default\u timezone\u set('UTC')在几个地方,这可能是为什么你没有看到你的PHP.ini时区设置的效果。他们的管理屏幕上的设置看起来是基于逐个情况的,而不是全局的。你也可以考虑这样做。Matt,很抱歉名字混淆。我需要更多的注意。我发现WP是一个臃肿的ATTEM。pt是每个人的一切,但仍然是普通人可以定制的东西-它没有成功。我从事数据处理已经40多年了,我可以诚实地说,我从未遇到过
date/time support   enabled
"Olson" Timezone Database Version   2015.1
Timezone Database   internal
Default timezone    America/Chicago

Directive               Local Value     Master Value
date.default_latitude   31.7667         31.7667
date.default_longitude  35.2333         35.2333
date.sunrise_zenith     90.583333       90.583333
date.sunset_zenith      90.583333       90.583333
date.timezone           America/Chicago America/Chicago