Мне нужно преобразовать миллисекунды в дату и время (это зависит). Например, 14800000 миллисекунд (14800 секунд) становится
4 hours, 6 minutes - not 4 hours, 6 minutes, 40 seconds
Если это 21 секунда, то вы должны сказать только «21 секунда».
Я пробовал использовать Datetime, но ничего не вышло. Вот почему я спрашиваю, но без DateTime. Данные, которые должны быть: годы, месяцы, недели, дни, часы, минуты и секунды (одиночное и множественное число)
как этот код:
$milliseconds = '183547165';
$time = $milliseconds / 1000;
$days = floor($time / (24*60*60));
$hours = floor(($time - ($days*24*60*60)) / (60*60)); $minutes = floor(($time - ($days*24*60*60)-($hours*60*60)) / 60); $seconds = ($time - ($days*24*60*60) - ($hours*60*60) - ($minutes*60)) % 60;
echo $days.' days<br>'.$hours.' hours<br>'.$minutes.' minutes<br>'.$seconds.' seconds'; ?>
Мне тяжело это делать. Как это сделать?? Вы можете помочь мне??
Я думаю, что OP хочет преобразовать время в удобочитаемую строку. Если так, то название и вопрос вводят в заблуждение.
Возможно, вам будет полезно взглянуть на DateTime::diff() и DateInterval.
Преобразуйте 14800000 в 14800 с помощью математики, затем используйте закрытый вопрос выше, чтобы преобразовать в ожидаемый результат.






Итак, поскольку
DateTimeне работает для вас, мы не можем использовать его в качестве ответа?