Скрипт для перевода величин (времени)

Samail
На сайте с 10.05.2007
Offline
369
2793

Подскажите скрипт который преобразует минуты или секунды в дни часы и т.д.

Т.е. если например пользователь вводит 10000 минут, на выходе должен увидеть "6 дней, 22 часа, 40 минут".

Ну и такой-же скрипт для преобразования секунд.

izbushka
На сайте с 08.06.2007
Offline
110
#1

На каком языке?

В каких диапазонах будут значения?

Если до месяца то на php можно так:

echo gmdate('d H:i:s', $SEC);

Минуты в секунду превращаются умнодением на 60.

Если до года то можно использовать z модификатор даты.

Если более года, то надо просто считать:

function format_time($t,$f=':') // t = seconds, f = separator
{
return sprintf("%02d%s%02d%s%02d%s%02d", floor($t/3600/24),$f, ($t/3600)%24, $f, ($t/60)%60, $f, $t%60);
}
echo format_time(10000*60); //06:22:40:00
Samail
На сайте с 10.05.2007
Offline
369
#2

Язык любой. Нужно чтобы пользователь ввел цифру в минутах и увидел сколько это будет в днях, часах и минутах. но не так что 10 тыс. минут - это 6,94 дней. А что 10 тыс минут это "6 дней, 22 часа, 40 минут".

izbushka
На сайте с 08.06.2007
Offline
110
#3

Ну я написал.

Или слова "дней, часов, минут" тоже надо?

Тогда надо немного доделать его:

function format_time($t,$f=':') // t = seconds, f = separator
{
return sprintf("%02d%s%02d%s%02d%s%02d%s", floor($t/3600/24), ' дней, ', ($t/3600)%24, ' часов, ' , ($t/60)%60, ' минут, ', $t%60, ' секунд');
}
echo format_time(10000*60); //06 дней, 22 часов, 40 минут, 00 секунд
Samail
На сайте с 10.05.2007
Offline
369
#4

izbushka, то что написано будет работать без перезагрузки страницы? Нужно подобие калькулятора. Слова желательны, правильная форма необязательна.

izbushka
На сайте с 08.06.2007
Offline
110
#5
Samail:
то что написано будет работать без перезагрузки страницы?

Если без перезагрузки страницы, то язык далеко не любой.

То что я напиал можно использовать через AJAX.

Если хочется чисто на стороне клиента - то JS

Samail
На сайте с 10.05.2007
Offline
369
#6

.................

izbushka
На сайте с 08.06.2007
Offline
110
#7

Что за километры кода?

На JS


<html>
<script>
var sec=10000*60;
var days=Math.floor(sec/60/60/24);
sec-=days*24*60*60;
var hours=Math.floor(sec/60/60);
sec-=hours*60*60;
var min=Math.floor(sec/60);
sec-=min*60;
alert(days+' days, '+hours+' hours, '+min+' min, '+sec+' sec');
</script>
</html>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий