You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP中修改已有的DateInterval实例?

直接修改已有DateInterval实例移除秒数

当然可以直接修改现有DateInterval实例,不用新建。PHP的DateInterval类提供了可直接读写的公共属性,针对你的需求,只需要把秒数对应的属性s设为0就行:

$di = new \DateInterval("PT3H20M10S"); // 3小时20分10秒
$di->s = 0; // 直接清零秒数
// 现在$di的时长就是3小时20分

如果遇到秒数超过60的情况(比如PT0H0M65S),需要把多余的秒数进位到分钟的话,可以这么处理:

$di = new \DateInterval("PT0H0M65S");
// 把超出60的秒数转成分钟
$di->i += intdiv($di->s, 60);
$di->s = $di->s % 60;
// 要是不需要进位,直接$di->s=0就行

另外提一句,DateInterval的其他时间属性比如y(年)、m(月)、h(时)、i(分)也都是可以直接修改的,按需调整就行。

内容的提问来源于stack exchange,提问作者Martin Braun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:52:01