在php中使用日期(';Y-m-d';)时,如何正确设置给定的时间?

在php中使用日期(';Y-m-d';)时,如何正确设置给定的时间?,php,datetime,server,Php,Datetime,Server,当我将时区设置到当前位置时(例如:内罗毕GMT+3) 然后使用date('Y-m-d')询问时间,我得到的分钟值不正确。i、 e如果是上午11:03,则显示上午11:15(因此相差12分钟) 下面是使用的代码。非常基本。完成任务 date_default_timezone_set("Africa/Nairobi"); //echo date_default_timezone_get(); echo date('H:i:s'); 而且,这种时差只发生在我的客户机的服务器上。在其他测试服务器中

当我将时区设置到当前位置时(例如:内罗毕GMT+3) 然后使用date('Y-m-d')询问时间,我得到的分钟值不正确。i、 e如果是上午11:03,则显示上午11:15(因此相差12分钟)

下面是使用的代码。非常基本。完成任务

date_default_timezone_set("Africa/Nairobi"); 
//echo date_default_timezone_get(); 
echo date('H:i:s');
而且,这种时差只发生在我的客户机的服务器上。在其他测试服务器中,它提供了准确的时间。i、 上午11:03将显示上午11:03

我是否也需要更改php.ini中的时区

编辑:

  • 项目不在本地主机中
  • 时区设置前后的时间输出相同:/

  • 在设置时区之前,日期的输出是什么

    它的输出是什么

    print_r(get_defined_vars())
    

    服务器系统时间可能提前12分钟

    您的系统时间可能提前12分钟。如果您使用的是linux,请尝试

    ntpdate -s time.nist.gov
    

    您的项目是否在本地服务器上?它与PHP无关。服务器上的时间不同。根据ntp同步两台服务器。如果设置时区前后的时间相同,则表示服务器已设置为该时区。@Magnus,谢谢。我也得出了同样的结论。我需要的是知道我是否需要处理php.ini文件,或者是否有其他php脚本来解决这个问题。您已经有了解决方案!使用NTP同步服务器时间-这与PHP无关@Blazeag甚至给了您正确的命令,如果您在Linux上。不要忘记
    sudo
    :)是的,sudo或作为root,谢谢@Magnus erikson;)上面的输出是一个(非常)长的信息列表,没有提供与所面临问题相关的信息。