【问题标题】:PHP: How to read the current date/time from the server, not from php.iniPHP:如何从服务器读取当前日期/时间,而不是从 php.ini
【发布时间】:2012-03-21 15:04:37
【问题描述】:

这是我的问题:

echo date('Y-m-d H:i:s'); 
echo date('Y-m-d H:i:s', mktime());  

echo exec('date');

输出是:

2012-03-21 08:45:51
2012-03-21 08:45:51

Wed Mar 21 10:45:51 EDT 2012

从 php date() 返回的时间起服务器时间关闭 2 小时;或任何其他 php 日期/时间函数。这是因为服务器时间设置为 EST 和 PHP.INI date.timezone="America/Denver"

我需要通过使用 date_default_timezone_set 来同步这两个,但我事先不知道有什么区别。

除了调用exec,还有其他方法可以获取本地服务器时间吗?

UPD:我知道 php.ini 设置是错误的,我可以更改它。问题是这个脚本可以在没人知道什么样的服务器上运行。我无法逐一访问并更正 php.ini 文件。我也事先不知道这些服务器上的时区是什么。我需要一个适用于任何地方的动态解决方案。

【问题讨论】:

    标签: php datetime


    【解决方案1】:

    您可以更改 ini 日期时区并打印日期

    ini_set('date.timezone', 'America/Los_Angeles');
    

    【讨论】:

    • 我同意,听起来问题只是您的php.ini 配置错误。更改您的配置文件以使其准确无误。
    • 我知道,问题是这个脚本可以在没人知道什么样的服务器上运行。我不能每一个都去更正 php.ini 文件。我需要一个适用于任何地方的动态解决方案。
    • 您不必更正ini文件。这个你必须放在脚本的顶部
    【解决方案2】:
    Change value of date.timezone from php.ini [Date] and restart your server.
    You can get your date.timezone value form-
    http://au.php.net/manual/en/timezones.php
    
    
    For Bangladesh I set in my php.ini [Date]
    date.timezone = Asia/Dhaka
    
    
    You get your php.ini in C:\xampp\php address for XAMP server and Windows.
    

    【讨论】:

      【解决方案3】:



      一些主机让您可以编辑php.ini
      cpanel中寻找php config

      【讨论】:

      • 这将部署在数千个不同的服务器上,我不能去所有这些服务器并更改 php.ini。我需要一个适用于任何地方的动态解决方案。
      • 所以将其存储在 TIMESTAMP 中,然后直接为每个用户转换
      【解决方案4】:

      在 *nix 上,您可以使用 date 的格式参数来获得所需的内容:

      • date +%z — 时区 (hhmm)
      • date +%:z — 时区 (hh:mm)
      • date +%Z — 时区缩写(例如“EDT”)

      进行系统调用(例如echo exec('date +%z');)将绕过date_default_timezone_get 中的任何INI 设置。请注意,如果此函数从系统时间读取,则会发出 E_WARNING,实际上从 PHP 5.4 开始,它甚至不允许读取它——特别是因为它不能被依赖。

      为了保持一致,无论服务器设置如何,您都应该在应用程序中使用 UTC。为了便于使用,大多数情况下,GMT 与 UTC 足够接近,因此您可以使用gmdate()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-03
        相关资源
        最近更新 更多