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

新手上路,请多包涵

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

PS 时间有时可能只是格式 MM:SS

原文由 CodeOverload 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 459
2 个回答

不需要 explode 任何东西:

 $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;

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

 $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;

原文由 Tim Cooper 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以使用 strtotime 函数从 today 00:00:00 返回秒数。

 $seconds= strtotime($time) - strtotime('00:00:00');

原文由 mehdi jalilvand 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题