首页 >后端开发 >php教程 >如何在 PHP 中将 HH:MM:SS 时间字符串转换为总秒数?

如何在 PHP 中将 HH:MM:SS 时间字符串转换为总秒数?

Patricia Arquette
Patricia Arquette原创
2024-12-08 06:00:30545浏览

How Can I Convert HH:MM:SS Time Strings to Total Seconds in PHP?

将时间:HH:MM:SS 转换为纯秒

在处理时间时,经常需要将时间字符串转换为HH:MM:SS 格式转换为表示总秒数的简单整数。为了实现这一目标,可以采用多种方法,例如下面展示的方法。

解决方案:

提供的解决方案利用 Perl 风格的正则表达式和 sscanf( ) 函数来剖析时间字符串并提取小时、分钟和秒信息。然后,它使用简单的算术来计算总秒数。

通过使用 preg_replace() 用前导零填充字符串,代码确保 sscanf() 函数解析的格式一致,无论输入如何字符串格式。这避免了需要额外的错误处理或像“MM:SS”这样的部分时间的特殊情况。

这是正在运行的代码:

$str_time = "23:12:95";

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

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

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

echo $time_seconds; // Output: 83615

通过使用这种方法,您可以毫不费力地将 HH:MM:SS 格式的时间字符串转换为其等效的总秒数表示形式。

以上是如何在 PHP 中将 HH:MM:SS 时间字符串转换为总秒数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn