如何从日期时间字符串中减去一个小时,例如:"2017-04-20 11:46:00"并将其转换回 PHP 中的字符串?



我需要从字符串'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

相关内容

最新更新