Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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.ini中的PHP时区_Php_Date_Timezone - Fatal编程技术网

未应用PHP.ini中的PHP时区

未应用PHP.ini中的PHP时区,php,date,timezone,Php,Date,Timezone,由于某些原因,date函数没有输出时区调整后的日期/时间。在调试过程中,我发现了一个奇怪的差异。我的时区在php.ini中定义为America/New_York。当我称之为: echo ini_获得“日期时区”; 我得到了美国/纽约,这是我所期望的。然而,当我称之为: 回显日期\默认\时区\获取; 我得到UTC。这似乎是date方法返回UTC时区中的时间的原因。为什么会这样?如何使PHP尊重PHP.ini中的时区 更新 我最终只是尝试从日期'Y-m-d G:I:s'获得时区调整时间。由于

由于某些原因,date函数没有输出时区调整后的日期/时间。在调试过程中,我发现了一个奇怪的差异。我的时区在php.ini中定义为America/New_York。当我称之为:

echo ini_获得“日期时区”;

我得到了美国/纽约,这是我所期望的。然而,当我称之为:

回显日期\默认\时区\获取;

我得到UTC。这似乎是date方法返回UTC时区中的时间的原因。为什么会这样?如何使PHP尊重PHP.ini中的时区

更新


我最终只是尝试从日期'Y-m-d G:I:s'获得时区调整时间。由于我的时区是在php.ini中设置的,如何从date中获取正确的日期/时间?

如果我在您的问题中正确理解尊重的含义,您可能会想,这并没有返回ini设置。您可以通过在get操作之前调用此行来更改:

date_default_timezone_set(ini_get('date.timezone'));
参见示例2,从手册中获取时区的缩写,其中包括:

<?php
date_default_timezone_set('America/Los_Angeles');
echo date_default_timezone_get() . ' => ' . date('e') . ' => ' . date('T');

尊敬根据所述功能的手动文档,ini设置与日期\默认\时区\设置相对应的设置之间没有确定的1:1关系,但只有在使用时,ini设置与日期\默认\时区\设置相对应的设置之间才有确定的1:1关系。你在问什么?就这样?我所关心的就是当我把日期称为“Y-m-d”时,G:I:s“我想要时区调整的日期/时间。是的,这正是我理解你的方式。如果现在对你有用的话,你可能应该试试。谢谢,但实际上我并不关心日期\默认值\时区\本身,我关心的只是当我叫date'Y-m-d G:I:s'时,我想要时区调整后的日期/时间。嗯,你关心的是日期,对吧。这就是为什么我在答案中添加了一个例子,说明日期是如何受此影响的。你可能只是忽略了它,否则我不明白你为什么这样评论。如果这仍然不能回答你的问题,请告诉我。
America/Los_Angeles => America/Los_Angeles => PST