- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
<?php
function makestime($string) {
$day=floor($string/86400);
$hours=floor(($string/3600)-$day*24);
$min=floor(($string-$hours*3600-$day*86400)/60);
$sec=$string-($min*60+$hours*3600+$day*86400);
return $day.' дн. '.$hours.':'.$min.':'.$sec;
}
?>
nobody 31.08.2011 01:28 # 0
evilsoul 01.09.2011 12:17 # 0
а не unixtime в дату.
7ion 01.09.2011 19:10 # 0
Задумался. А как тогда можно перевести секунды в дни по-другому?
evilsoul 02.09.2011 08:27 # 0
Может кто-то из других отписавшихся в теме, знает. Ждем лучшего варианта.
roman-kashitsyn 02.09.2011 09:19 # 0
7ion 02.09.2011 13:35 # 0
>P.S. Есть извращенская идея, но она работает только для интервалов менее 31 дня:
>function stupid_sec2dhms($sec) {
> return date('d дн. h:m:s', mktime(0, 0, 0, 1, 1) + $sec);
>}
date('d дн. h:m:s', $sec); отлично бы сработало в пределах 31 дня.
Зачем тут mktime вот не понимаю.
roman-kashitsyn 02.09.2011 13:48 # 0
Да, mktime() не нужен, и так с 1 января будет время отсчитываться.
В итоге работает только для интервалов больше дня, причём нужно будет отнимать число секунд в дне.
7ion 02.09.2011 16:05 # 0
Что?
Это конструкция будет работать в пределах 30 дней, но для корректной работы надо будет отнимать от дня 1 - день будет убегать вперед.
В принципе, все проблемы только в днях, поэтому можно будет приделать костыль, который, если секунд больше, чем в 31 дне, будет плюсовать +31 к дням. Если больше, чем на 60 дней, то +60 дней. И т.д. до декабря.
Но это очередной ГК будет.
Получается, что этот говнокод и не особо говнокод.
roman-kashitsyn 02.09.2011 16:08 # 0
вот поэтому я и стёр эту "идею" :)
eth0 31.08.2011 09:55 # +1
> $string/86400
Делим строку? о_О
7ion 31.08.2011 15:35 # +1
doremidon 31.08.2011 15:52 # 0
Lure Of Chaos 31.08.2011 10:23 # +4
mr.The 31.08.2011 11:26 # 0
Да сюда можно весь дистр запостить. Там говно на говне сидит и говном погоняет.
guest8 09.04.2019 11:24 # −999