Я использую свою библиотеку iTunes для получения данных из примерно 1100 mp3-файлов, и я столкнулся с небольшой проблемой в обеспечении продолжительности библиотеки в минутах и секундах.Конвертирование продолжительности MP3-времени
$duration = 1893642;
$minutes = bcmod(($duration/60), 60);
$seconds = bcmod($duration, 60);
echo $minutes.":".$seconds; //returns 0:42
Проблема в том, что этот конкретный MP3 на самом деле 31:42. Любые мысли о том, почему это не работает?
Так вы говорите, на несколько секунд следует избегать 'bcmod()', а? Я не понимаю, что делает 'bcmod()', кто-то из другого столбца stackoverflow сказал мне сделать это, потому что для большинства из них он работает нормально. – Webnet
'bcmod' принимает модуль произвольной точностью. В принципе, 'bcmod ($ a, $ b)' означает '$ a% $ b'. Функции, начинающиеся с bc-, относятся к расширению BCMath. Они позволяют выполнять вычисления с произвольной точностью. Если ваши потребности не требуют разрешения на микросекунду (что я сомневаюсь), в этом нет особого смысла. Кроме того, эти функции сохраняют числа в виде строки, поэтому, когда вы выполняете обычное разделение, они будут переданы обычным типам, и вы потеряете точность. –
Этот код будет работать только в том случае, если ему нужен следующий формат: «MM: SS» (даже больше часа), но если он хочет, чтобы «HH: MM: SS» это не работало ..... Так технически Функция Вазима Карани правильная. (У меня недостаточно высокий балл, чтобы уменьшить это, но он должен быть проголосован.) – josephtikva1