【问题标题】:date() function outputting wrong result - PHPdate() 函数输出错误结果 - PHP
【发布时间】:2013-01-28 23:35:10
【问题描述】:

这就是我所做的-:

  1. 在 mysql 中生成了 UNIX_TIMESTAMP 结果。它出来了 1360756718 秒。
  2. 由于我在 GMT +5.30,得到了 5 小时 30 分钟内的秒数。结果是19800 秒
  3. 运行这个函数 -> date('j M Y H:i:s',(1360756718+19800))。

但不幸的是,答案是1 hour 提前了。我的意思是1 hour。结果是13 Feb 2013 18:28:38,应该是13 Feb 2013 17:28:38。

我在哪里穿?

【问题讨论】:

  • 您的 MySQL 数据库和 PHP 配置中的时区设置是否正确?
  • date_timezone_get() 返回什么,您的实际时区是什么?
  • date_default_timezone_get() 返回Europe/Berlin。我的是Asia/Kolkata。但这有什么关系,因为我是在 unix 时间戳上这样做的。
  • 您正在使用 date() 将 Unix 时间戳转换为日期字符串,这可能会使用正确的时区更改您的时间戳。

标签: php date epoch


【解决方案1】:

嗯,您现在是 +5:30,但由于夏令时,我们还差 1 小时。所以你现在只有 +4:30

【讨论】:

  • 你能详细解释一下吗
  • php.net/manual/en/function.date.php, 在这里您可以看到 date() 函数必须提供的所有内容。有一个I 参数可以告诉您日期是否处于夏令时。如果是,则在结果中再增加一个小时。
  • 我找不到I 参数
  • ahm...在参数表上,有一整节专门用于时区。第二个是 I(大写 i)。只需在页面上搜索日光,您就会找到它。还有一些 maketime 示例可能会解决您的问题
【解决方案2】:

我认为您的时区设置不正确。您需要深入了解您的 Apache/PHP/Mysql 设置以找出它的设置。

【讨论】:

    【解决方案3】:
    echo date( 'd.m.Y H:i:s', '1360756718' ); // 13.02.2013 13:58:38
    echo date( 'd.m.Y H:i:s',  ( '1360756718'+19800 ) ); // 13.02.2013 19:28:38
    

    对我来说,这是按计划完成的。你确定你是从正确的时间开始的吗?正如一些已经提到的,问题很可能在于您的时区或夏令时。

    【讨论】:

    • 你的结果不应该是13.02.2013 17:28:38。我觉得我在搞乱 date() 函数。谁能解释一下
    • 13 + 5 = 18 ... 58 + 30 = 1:28 ... 18 + 1:28 = 19:28
    【解决方案4】:

    请先检查您当前的时区。 Here you can check all supported timezones as well

    【讨论】:

      【解决方案5】:

      您可以尝试添加:

      ini_set('date.timezone', 'My/Timezone');
      

      从 php 5.1 开始也可以这样做:

      date_default_timezone_set ( string $timezone_identifier )
      

      http://www.php.net/manual/en/function.date-default-timezone-set.php

      将时间设置为您自己的时区。可用于 php 的时区在这里:

      http://www.php.net/manual/en/timezones.php

      【讨论】:

        【解决方案6】:

        其他答案说您应该检查并更正您的时区设置。 我会这样做,因为它更正确(关于夏令时等)。

        如果你想用简单的方法试试 gmdate 函数:

        string gmdate ( string $format [, int $timestamp = time() ] )
        

        这将始终以 GMT 计算 - 您不必检查服务器设置。 (但是它也会忽略夏令时。)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-12-19
          • 2015-12-19
          • 1970-01-01
          • 2013-07-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多