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

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

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Ant234
Отправлено: 01 Мая, 2017 - 18:00:05
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Май 2017  


Помог: 0 раз(а)




Есть много строк с нестандартным временем типа: 89:21 - минуты и секунды:

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

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

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


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Май 2017  


Помог: 0 раз(а)




Сделал так:

$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;
 
 Top
Строитель Модератор
Отправлено: 02 Мая, 2017 - 11:52:27
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Ant234, у вас получилось много лишнего
Спойлер (Отобразить)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB