<?php
function convert($value)
{
if (preg_match("/((?P<hours>\d+)\:)?((?P<minutes>\d{1,2})\:)?(?P<seconds>\d{1,2})(\.(?P<milis>\d+))?/", $value, $matches)) {
$hours = intval($matches["hours"]); $minutes = intval($matches["minutes"]); $seconds = intval($matches["seconds"]); $milis = isset($matches["milis"]) ?
intval($matches["milis"]) : 0;
return sprintf("%d.%d", $hours * 3600 + $minutes * 60 + $seconds, $milis); }
return false;
}
echo convert("20:05.570"), PHP_EOL;
PD9waHAKCmZ1bmN0aW9uIGNvbnZlcnQoJHZhbHVlKQp7CiAgICBpZiAocHJlZ19tYXRjaCgiLygoP1A8aG91cnM+XGQrKVw6KT8oKD9QPG1pbnV0ZXM+XGR7MSwyfSlcOik/KD9QPHNlY29uZHM+XGR7MSwyfSkoXC4oP1A8bWlsaXM+XGQrKSk/LyIsICR2YWx1ZSwgJG1hdGNoZXMpKQogICAgewogICAgICAgICRob3VycyAgID0gaW50dmFsKCRtYXRjaGVzWyJob3VycyJdKTsKICAgICAgICAkbWludXRlcyA9IGludHZhbCgkbWF0Y2hlc1sibWludXRlcyJdKTsKICAgICAgICAkc2Vjb25kcyA9IGludHZhbCgkbWF0Y2hlc1sic2Vjb25kcyJdKTsKICAgICAgICAkbWlsaXMgICA9IGlzc2V0KCRtYXRjaGVzWyJtaWxpcyJdKSA/IGludHZhbCgkbWF0Y2hlc1sibWlsaXMiXSkgOiAwOwogICAgICAgIAogICAgICAgIHJldHVybiBzcHJpbnRmKCIlZC4lZCIsICRob3VycyAqIDM2MDAgKyAkbWludXRlcyAqIDYwICsgJHNlY29uZHMsICRtaWxpcyk7CiAgICB9CiAgICAKICAgIHJldHVybiBmYWxzZTsKfQoKZWNobyBjb252ZXJ0KCIyMDowNS41NzAiKSwgUEhQX0VPTDs=