Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как переконвертировать нестандартное время в нормальный формат?
Форумы портала PHP.SU » » Вопросы новичков » Как переконвертировать нестандартное время в нормальный формат?

Страниц (1): [1]
 

1. Ant234 - 01 Мая, 2017 - 18:00:05 - перейти к сообщению
Есть много строк с нестандартным временем типа: 89:21 - минуты и секунды:

Текст;Текст;Текст;Текст;Текст;89:21;Текст;
Текст;Текст;Текст;Текст;Текст;58:01;Текст;
Текст;Текст;Текст;Текст;Текст;109:21;Текст; и.т.д.

Можно ли как-то переконвертировать те строки, где минут больше 60, в формат вида: 01:29:21 ?

Единственное, что приходит в голову, это с помощью
preg_match('/;\d\d:\d\d:\d\d/', $html, $t);
Вытаскивать строки, а вот что потом делать не могу сообразить.
2. Ant234 - 02 Мая, 2017 - 05:09:30 - перейти к сообщению
Сделал так:

$html='Текст;Текст;Текст;Текст;Текст;89:21;Текст;';

function minuti_v_chasi($minuti){ // функция перевода времени из минут в часы

return sprintf('%02d:%02d', floor($minuti/60), $minuti%60);

}


$tmp = preg_replace_callback('/;(\d\d):/', function($matches)

{
$matches= str_replace(":", "", $matches);
$matches= str_replace(";", "", $matches);

return ";" . minuti_v_chasi($matches[0]) . ":";
},$html);

$tmp = str_replace(';:', ";", $tmp);

echo $tmp;
3. Строитель - 02 Мая, 2017 - 11:52:27 - перейти к сообщению
Ant234, у вас получилось много лишнего
Спойлер (Отобразить)

 

Powered by ExBB FM 1.0 RC1