Menukar Rentetan Masa dalam Format HH:MM:SS kepada Saat
Masalah:
Bagaimana anda boleh tukar rentetan masa dalam format HH:MM:SS kepada nombor saat rata? Rentetan masa kadangkala boleh dalam format MM:SS sahaja.
Penyelesaian:
Kaedah 1: Menggunakan Ungkapan Biasa
Untuk menukar rentetan masa tanpa membelahnya, gunakan yang berikut kod:
$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;
Kaedah 2: Menggunakan sscanf()
Jika ungkapan biasa tidak diutamakan, gunakan kod berikut:
$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;
Dalam kaedah kedua, semak sama ada pembolehubah saat ditetapkan untuk mengendalikan rentetan masa dalam format MM:SS dengan betul.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan Masa HH:MM:SS (atau MM:SS) kepada Jumlah Saat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!