如何从PHP中的日期获取仅时间戳记

时间:2018-08-13 15:51:31

标签: php datetime

我在PHP中有一个时间字段,可以接收小时和分钟(H:i)。 这进入\Datetime Object。 用魔术,在我看来,这是不希望有的,当前日期已添加到该时间。

我想删除日期并仅保留时间。

 $timeonly = $this->getDate()->format('H:i');

这给我字符串10:00。

但是现在...如何将该字符串转换为所需的整数36000,即10h?

我尝试了strtotime($timeonly),但这又增加了一个日期...

这甚至是个好主意吗,我找不到它是因为它太琐碎了还是因为它没有完成?

DateTime->中也许有像returnTimeWithoutDate这样的东西?

3 个答案:

答案 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);