php - 减去PHP日期时间中的分钟和秒

标签 php

我在下面有这个日期时间代码。我想在 $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/

相关文章:

javascript - 将 php json_encode 数组结果显示为 ajax 成功函数

php - 改变jquery treemenu方向的问题

php - 优雅的 Apache 重启会清除 APC 吗?

php - 在 sudo 模式下运行 emacs 时保留用户的配置

php - Bootstrap dataTable 未在 php 表中排序和搜索

php - Laravel 使用 Ajax 上传文件

php - 如何允许单个 Wordpress 站点接受我的 .ttf 文件上传?

php - 分页问题 [PHP]

php - 从当前日期减去 TIMESTAMP

php - 在 Ubuntu 18.04 crontab 中执行 PHP