ホームページ >バックエンド開発 >PHPチュートリアル >HH:MM:SS (または MM:SS) の時刻文字列を合計秒数に変換するにはどうすればよいですか?

HH:MM:SS (または MM:SS) の時刻文字列を合計秒数に変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-08 08:25:12414ブラウズ

How to Convert HH:MM:SS (or MM:SS) Time Strings to Total Seconds?

HH:MM:SS 形式の時刻文字列を秒に変換する

問題:
どうすればよいですかHH:MM:SS 形式の時刻文字列をフラットな秒数に変換しますか?時刻文字列は、MM:SS 形式のみになる場合があります。

解決策:

方法 1: 正規表現を使用する

時間文字列を分割せずに変換するには、次を使用しますコード:

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

方法 2: sscanf() を使用する

正規表現が好まれない場合は、次のコードを使用します:

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

2 番目の方法では、秒変数が MM:SS 形式の時刻文字列を正しく処理するように設定されているかどうかを確認します。

以上がHH:MM:SS (または MM:SS) の時刻文字列を合計秒数に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。