我在PHP中有一个时间字段,可以接收小时和分钟(H:i)。
这进入\Datetime Object
。
用魔术,在我看来,这是不希望有的,当前日期已添加到该时间。
我想删除日期并仅保留时间。
$timeonly = $this->getDate()->format('H:i');
这给我字符串10:00。
但是现在...如何将该字符串转换为所需的整数36000
,即10h?
我尝试了strtotime($timeonly)
,但这又增加了一个日期...
这甚至是个好主意吗,我找不到它是因为它太琐碎了还是因为它没有完成?
在DateTime->
中也许有像returnTimeWithoutDate
这样的东西?
答案 0 :(得分:1)
这有点琐碎,加上一点数学运算即可:
function timeToSeconds(\DateTime $dt)
{
return $dt->format('H') * 3600 + $dt->format('i') * 60;
}
echo timeToSeconds($this->getDate());
答案 1 :(得分:1)
输入代码:
$timeonly = $this->getDate()->format('H')*3600 + $this->getDate()->format('i')*60;
答案 2 :(得分:0)
您应该尝试以下方法:
$timeonly = $this->getDate()->format('H:i');
$date = strtotime($timeonly);
echo date('H', $date);