如果我有一个像“14:30:00”(“小时:分钟:秒”)这样的时间格式字符串,如何从该字符串中获取 DateInterval?
我可以获得一个日期时间:
$datetime= DateTime::createFromFormat("H:i:s","14:30:00");
但我需要将其添加到另一个 DateTime 对象,而 date_add 需要一个 DateInterval。
如果您想要 14 小时 30 分钟的间隔,只需使用构造函数...
$interval = new DateInterval('PT14H30M');
为了打破它...
-
P
- 所有间隔规格字符串必须以P
(for Period)。我们没有使用任何周期间隔,但等等......
-
T
- 这将启动Time spec
-
14H
- 14小时
-
30M
- 30分钟
If you must使用字符串14:30:00,我会用它来解析它sscanf
并使用零件...
list($hours, $minutes, $seconds) = sscanf('14:30:00', '%d:%d:%d');
$interval = new DateInterval(sprintf('PT%dH%dM%dS', $hours, $minutes, $seconds));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)