您好我正在尝试将时间戳转换为秒。目前,时间戳将以两种形式传输,并希望为其中任何一种做好准备。但是我觉得我用我试过的方法让自己变得更难。
所以例如输入是
1小时1分1秒或 2小时2分2秒< - 复数
我希望最终输出为下面的示例,以便我可以将该数字转换为几秒:
01:01:01 或 02:02:02
我不知道这是什么情况,它将是一个通过url传递的参数,这是我到目前为止所尝试的,但就像我说的那样,它没有正确显示:
$recent_time = htmlspecialchars($_GET["time"]);
$recent_time = preg_replace("/[^0-9,.]/", ":", $recent_time);
$recent_time = preg_replace("/(.)\\1+/", "$1", $recent_time);
echo $recent_time;
所以你可以看到我用冒号替换所有字母,并确保冒号不重复,所以输出将是xx:xx:xx但是有时输出不准确这里是我如何翻译输出到秒:
$str_time = preg_replace("/^([\d]{1,2})\:([\d]{2})$/", "00:$1:$2", $recent_time);
sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds);
$time_seconds = $hours * 3600 + $minutes * 60 + $seconds;
$sum_total = $time_seconds + $old_time;
问题在于,如果只有min + sec,它就不能正确地将其转换为秒。所以例如时间是10分13秒,它将输出10:13:
,但它没有正确地将其转换为秒,因为它不是00:10:13。我试图截断最后的结肠,但它仍然无法区分minues / sec / hours
$recent_time = substr_replace($recent_time ,"",-1);
修改的
$converted_time = date('H:i:s',strtotime('$recent_time', strtotime('midnight')));
答案 0 :(得分:2)
使用php strtotime函数
date('H:i:s',strtotime('1 hour 1 minute 1 second', strtotime('midnight'))); // 01:01:01
date('H:i:s',strtotime('2 hours 2 minutes 2 seconds', strtotime('midnight'))); // 02:02:02
date('H:i:s',strtotime('10 minutes 13 seconds', strtotime('midnight'))); // 00:10:13