如果我有一个时间格式字符串,如“14:30:00”(“小时:分钟:秒”),我如何从字符串中获取DateInterval?
我可以得到一个DateTime:
$datetime= DateTime::createFromFormat("H:i:s","14:30:00");
但是我需要将它添加到另一个DateTime对象,而date_add需要一个DateInterval.
如果你想要一个14小时30分钟的间隔,只需使用构造函数……
原文链接:https://www.f2er.com/php/138894.html$interval = new DateInterval('PT14H30M');
打破它…
> P – 所有间隔规格字符串必须以P(对于Period)开头.我们没有使用任何时间间隔,但是……
> T – 这将启动时间规范
> 14H – 14小时
> 30M – 30分钟
如果你必须使用字符串14:30:00,我会用sscanf解析它并使用这些部分……
list($hours,$minutes,$seconds) = sscanf('14:30:00','%d:%d:%d'); $interval = new DateInterval(sprintf('PT%dH%dM%dS',$hours,$seconds));