【问题标题】:How to convert date time to timestamp, add 6 hours and convert it back to date time in PHP?如何将日期时间转换为时间戳,添加 6 小时并将其转换回 PHP 中的日期时间?
【发布时间】:2011-10-20 00:59:06
【问题描述】:

如何将 6 小时添加到此字符串?

$parent = "2011-08-04 15:00:01";

我认为最好的方法是将其转换为时间戳加上 21600 秒,然后将其转换回日期时间。

如何做到这一点?

提前致谢。

【问题讨论】:

    标签: php datetime date time


    【解决方案1】:
    $sixhours_from_parent = strtotime($parent) + 21600;
    $sixhours_date = date('Y-m-d H:i:s', $sixhours_from_parent);
    

    【讨论】:

      【解决方案2】:

      似乎来自 SQL 的 timestamp/datetime 值。你可以用它

      SELECT datefield + INTERVAL 6 HOUR
      

      【讨论】:

        【解决方案3】:
        <?php
        $parent = "2011-08-04 15:00:01";
        $parentTime = strtotime($parent);
        $later = strtotime("+6 hours", $parentTime);
        echo date('Y-m-d H:i:s', $later);
        ?>
        

        【讨论】:

          【解决方案4】:

          您可能正在寻找http://www.php.net/manual/en/function.strtotime.php 函数

          $timestamp = strtotime("2011-08-04 15:00:01");
          $timestamp += 6 * 3600;
          echo date('Y-m-d H:i:s', $timestamp);
          

          【讨论】:

            【解决方案5】:
            date('Y-m-d H:i:s', strtotime($parent) + 21600);
            

            【讨论】:

              【解决方案6】:

              对于 PHP > 5.3,您可以在 DateTime 对象上使用 DateInterval 类,我认为这是处理时间计算复杂性的最简单方法。因此,在您的情况下,您可以执行以下操作:

              $time = new \DateTime("2011-08-04 15:00:01");
              $time->add(new \DateInterval('PT6H')); //add six hours
              echo $time->format('Y-m-d H:i:s');
              

              Ref

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2017-04-25
                • 2022-01-08
                • 1970-01-01
                相关资源
                最近更新 更多