我需要从字符串'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 = 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");
$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);
这是一个单线,将您的示例日期时间减少1小时:
代码:
$one_hour_ago=(new DateTime('2017-04-20 11:46:00'))->modify('-1 hour')->format("Y-m-d H:i:s");
echo $one_hour_ago;
输出:
2017-04-20 10:46:00