php – 如何从时间字符串创建DateInterval

前端之家收集整理的这篇文章主要介绍了php – 如何从时间字符串创建DateInterval前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我有一个时间格式字符串,如“14:30:00”(“小时:分钟:秒”),我如何从字符串中获取DateInterval?

我可以得到一个DateTime:

$datetime= DateTime::createFromFormat("H:i:s","14:30:00");

但是我需要将它添加到另一个DateTime对象,而date_add需要一个DateInterval.

如果你想要一个14小时30分钟的间隔,只需使用构造函数……
$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));
原文链接:https://www.f2er.com/php/138894.html

猜你在找的PHP相关文章