将 HH:MM:SS 格式的时间转换为秒
将 HH:MM:SS 格式的时间转换为单位秒数为编程中的常见任务。这可以使用简单的过程来实现。
解决方案:
此转换有两种方法:
方法 1:使用正则表达式
添加前导零转换为 MM:SS 格式(如果存在)。这可以使用正则表达式来完成:
$str_time = preg_replace("/^([\d]{1,2})\:([\d]{2})$/", "00::", $str_time);
使用 sscanf 提取小时、分钟和秒:
sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds);
方法 2:不使用正则表达式
对于 MM:SS 格式的时间,请使用以下内容:
sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds); $time_seconds = isset($seconds) ? $hours * 3600 + $minutes * 60 + $seconds : $hours * 60 + $minutes;
对于 HH:MM:SS 格式的时间,直接使用以下命令提取小时、分钟和秒sscanf:
sscanf($str_time, "%d:%d:%d", $hours, $minutes, $seconds); $time_seconds = $hours * 3600 + $minutes * 60 + $seconds;
用法示例:
$str_time = "23:12:95"; $time_seconds = $hours * 3600 + $minutes * 60 + $seconds; echo $time_seconds; // Output: 83575
以上是如何在 PHP 中将 HH:MM:SS 时间转换为总秒数?的详细内容。更多信息请关注PHP中文网其他相关文章!