仅将 HH:MM:SS 格式的时间转换为秒?

2021-12-23 00:00:00 time php

如何将HH:MM:SS格式的时间转换成单位秒数?

How to turn time in format HH:MM:SS into a flat seconds number?

P.S. 时间有时可能仅采用 MM:SS 格式.

P.S. Time could be sometimes in format MM:SS only.

推荐答案

无需展开任何事情:

$str_time = "23:12:95";

$str_time = preg_replace("/^([d]{1,2}):([d]{2})$/", "00:$1:$2", $str_time);

sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds);

$time_seconds = $hours * 3600 + $minutes * 60 + $seconds;

如果你不想使用正则表达式:

And if you don't want to use regular expressions:

$str_time = "2:50";

sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds);

$time_seconds = isset($seconds) ? $hours * 3600 + $minutes * 60 + $seconds : $hours * 60 + $minutes;

相关文章