将mm:ss和hh:mm转换为php中的时间戳


Convert mm:ss and hh:mm to a timestamp in php

如何将字符串(如02:00)转换为可以作为整数保存到数据库中的时间戳?它可以是mm:ss,也可以是hh:mm,这取决于我希望用户在表单中输入什么。但它总是mm:ss或hh:mm

strtotime提供了不可靠的结果,所以我认为这不是正确的做法。还有其他我不知道的方式吗?

编辑

要以更好的方式提问,请执行以下操作:我有一个表单,它有mm:ss的输入和hh:mm值的输入。我需要将这些值转换为unix时间戳。显然,时间不是实现这一目标的途径。

您不能仅将分钟或小时转换为时间戳,您需要有一个日期。在php中,您可以使用mktime函数:

$time = mktime($hours, $minutes, $seconds, $month, $day, $year);

文档:http://php.net/manual/en/function.mktime.php

例如,您有hh:mm输入

$input = '02:15';
$arr = array_map('intval', explode(':', $input));
// Create timestamp with selected time for today date
$time = mktime($arr[0], $arr[1], 1, date('m'), date('d'), date('Y'));