如何从datetime字符串中减去一个小时,例如:“1”;2017-04-20 11:46:00“;并在PHP中将其转换回字符串?
我需要从字符串“2017-04-20 11:46:00”中减去一小时,然后将其转换回相同的格式。 我试过下面的函数如何从datetime字符串中减去一个小时,例如:“1”;2017-04-20 11:46:00“;并在PHP中将其转换回字符串?,php,datetime,Php,Datetime,我需要从字符串“2017-04-20 11:46:00”中减去一小时,然后将其转换回相同的格式。 我试过下面的函数 <?php $date = new DateTime('2017-04-20 11:46:00'); $tosub = new DateInterval('PT01H00M'); $result =date_format($tosub,"Y-m-d H:i:s"); echo $result; ?> 您需要先应用减法函数,然后转换为所需格式 $date =
<?php
$date = new DateTime('2017-04-20 11:46:00');
$tosub = new DateInterval('PT01H00M');
$result =date_format($tosub,"Y-m-d H:i:s");
echo $result;
?>
您需要先应用减法函数,然后转换为所需格式
$date = new DateTime('2017-04-20 11:46:00');
$tosub = new DateInterval('PT01H00M');
$result = $date->sub($tosub); // Add subtract function
echo $result->format("Y-m-d H:i:s");
这是一个单行程序,可将示例日期时间减少1小时: 代码: 输出:
2017-04-20 10:46:00
你可以用
DateInterval
从DateTime
中减去DateInterval
,我最喜欢这个答案,因为它是一行,很容易阅读(与DateInterval
相比)@哈里什:我推荐这种方法。
2017-04-20 10:46:00
$date = date('Y-m-d H:i:s');
$time = strtotime($date);
$time = $time - (60*60); //one hour
echo $new_date = date("Y-m-d H:i:s", $time);