如果我有一个时间格式字符串,如"14:30:00"("小时:分钟:秒"),我如何从字符串中获取DateInterval?
我可以得到一个DateTime:
$datetime= DateTime::createFromFormat("H:i:s","14:30:00");
Run Code Online (Sandbox Code Playgroud)
但是我需要将它添加到另一个DateTime对象,而date_add需要一个DateInterval.
Phi*_*hil 20
如果你想要一个14小时30分钟的间隔,只需使用构造函数......
$interval = new DateInterval('PT14H30M');
Run Code Online (Sandbox Code Playgroud)
打破它...
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, $minutes, $seconds));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3961 次 |
| 最近记录: |