1

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

日期时间的格式为 Ymd H:i:s

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

4

3 回答 3

3
<?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;
?>

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

于 2013-03-20T05:24:38.913 回答
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');
于 2013-03-20T04:59:58.577 回答
1

您必须探索DateTime::subDateInterval,以及关于DateInterval 格式

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
于 2013-03-20T04:59:37.040 回答