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 サイトの他の関連記事を参照してください。