我在下面有这个日期时间代码。我想在 $begin 变量中减去 23 小时 59 分钟:
$date = 2016-03-14 23:59:59;
$given = new DateTime($date, new DateTimeZone("Asia/Tokyo"));
$given->setTimezone(new DateTimeZone("UTC"));
$end = $given->format("Y-m-d H:i:s");
$begin = date('Y-m-d H:i:s',strtotime('-23 hours',strtotime($end)));
现在输出是:
$end is: 2016-03-14 14:59:59
$begin is: 2016-03-13 15:59:59
我想要的输出是:
$end is: 2016-03-14 14:59:59
$begin is: 2016-03-13 15:00:00
如何减去开始中的分钟(以秒为单位)?或者有最好的方法吗?
最佳答案
由于您只想更改时间,因此您可以这样做以获得所需的结果,但您也可以做其他事情,例如 Amit Roy 所做的或 ceejayoz 建议的。这是一个非常简单的解决方案,只需执行即可:将分钟和秒重置为 00,以便您的输出显示为您想要的。
echo $begin = date('Y-m-d H:00:00',strtotime('-23 hours', strtotime($end)));
关于php - 减去PHP日期时间中的分钟和秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37849291/