【问题标题】:PHP Reduce days, hours and minutes from a datetimePHP 减少日期时间的天数、小时数和分钟数
【发布时间】:2013-03-09 01:46:05
【问题描述】:

需要使用 php 减少日期时间的天数、小时数和分钟数。

日期时间格式为 Y-m-d H:i:s

例如:假设日期时间是 2013-03-20 14:20:00。如何减少 2 天3 小时10 分钟 从而导致 2013-03-18 11:10 :00.

【问题讨论】:

标签: php datetime


【解决方案1】:
<?php
$date =  new DateTime("2013-03-20 14:20:00");
$dateIncremented = $date->sub(date_interval_create_from_date_string('2 days 3 hours 10 minutes'));
$finalDate = $date->format("Y-m-d H:i:s");
echo $finalDate;
?>

好吧。一个别名。但可读格式

【讨论】:

    【解决方案2】:

    使用DateTime 对象:

    $date = new DateTime('2013-03-20 14:20:00');
    $date->sub(new DateInterval('P2DT3H10M'));
    echo $date->format('Y-m-d H:i:s');
    

    【讨论】:

      【解决方案3】:

      你必须探索DateTime::subDateInterval,以及关于DateInterval format

      echo \DateTime::createFromFormat('Y-m-d H:i:s', '2013-03-20 14:20:00')
          ->sub(new \DateInterval('P2DT3H10M'))
          ->format('Y-m-d H:i:s'); // 2013-03-18 11:10:00
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-03
        • 1970-01-01
        相关资源
        最近更新 更多