【问题标题】:Add time to date time in php [duplicate]在php中添加时间到日期时间[重复]
【发布时间】:2026-02-02 16:10:01
【问题描述】:

我的日期和时间格式是:

示例 1:

$dateTime = 2016-09-08 21:00; //(year-month-day hour:minute)
$interval = 04:00; //(hour:minute)
$outputShouldBe = 2016-09-09 01:00;

示例 2:

$dateTime = 2016-09-08 21:00; //(year-month-day hour:minute)
$interval = 01:40; //(hour:minute)
$outputShouldBe = 2016-09-08 22:40;

【问题讨论】:

  • 你试过什么代码?

标签: php


【解决方案1】:

你可以试试strtotimedate函数

$dateTime = '2016-09-08 21:00';
echo date( "Y-m-d h:i", strtotime( "2016-09-08 21:00 +4 hours" ) ); 
echo date( "Y-m-d H:i", strtotime( "2016-09-08 21:00 +1 hours 40 minutes" ) ); 

【讨论】:

    【解决方案2】:

    您还可以使用DateTimeDateInterval 来归档您的任务。如果您愿意,可以使代码更短。但这样更易读。

    $dt = new Datetime('2016-09-08 21:00');
    $interval = new DateInterval('PT4H');
    $dt->add($interval);
    
    echo $dt->format('Y-m-d H:i');
    
    
    $dt = new Datetime('2016-09-08 21:00');
    $interval = new DateInterval('PT1H40M');
    $dt->add($interval);
    
    echo $dt->format('Y-m-d H:i');
    

    【讨论】:

      【解决方案3】:
          $dateTime = '2016-09-08 21:00';
          $intervalhr = 4;
          $intervalmin= 0;
          //display the converted time
          echo date('Y-m-d H:i',strtotime('+'.$intervalhr .' hour ',strtotime($dateTime)));
      

      你可以通过给出整数小时和分钟数来做到这一点

      【讨论】: