Вы не можете использовать strtotime, поскольку оно будет интерпретировать MM: SS как HH: MM - поэтому вы получаете более высокие значения, чем ожидалось.
Вы можете просто добавить значения MM: SS к '00: ', чтобы они выглядели как ЧЧ: ММ: СС.
Обратите внимание, однако, что strtotime, если ему просто дано значение ЧЧ: ММ: СС, даст метку времени для сегодня , что хорошо для одноразового кода. Не используйте эту технику для чего-то важного, подумайте, что произойдет, если ваши два звонка в strtotime переместятся в полночь!
Кроме того, что-то вроде этого превратит значение MM: SS в метку времени, которую вы можете сделать арифметическим на
function MinSecToSeconds($minsec)
{
if (preg_match('/^(\d+):(\d+)$/', $minsec, $matches))
{
return $matches[1]*60 + $matches[2];
}
else
{
trigger_error("MinSecToSeconds: Bad time format $minsec", E_USER_ERROR);
return 0;
}
}
Это немного более оборонительно, чем использование взрыва, но демонстрирует другой подход!