Тема: помогите немножко (Движок DCMS-Social/Общие вопросы) Скиталец (6 Apr 2015 в 20:09) По формуле... В школе учился? В минуте 60 сек и т д только нафига? Spiro (6 Apr 2015 в 20:15) вот например $a=$time+300; $b=$a-$time; echo\"$b\";- начался обратный отчет... КАК Данный отчет перевести в минуты?? Скиталец (6 Apr 2015 в 20:17) --Цитата-- Spiro (6 Apr 2015 в 20:15): вот например $a=$time+300; $b=$a-$time; echo\"$b\";- начался обратный отчет... КАК Данный отчет перевести в минуты?? ---------- Spiro, РАЗДЕЛИ НА 60 В 1 МИНУТЕ 60 СЕК! Скиталец (6 Apr 2015 в 20:19) echo (\"$b/60 min\"); Spiro (6 Apr 2015 в 20:22) --Цитата-- Скиталец (6 Apr 2015 в 20:19): echo (\"$b/60 min\"); ---------- Скиталец, это понятно. а как сделать чтобы вид был такого типа 04.56 04.55 04.53 04.52 и т.д Spiro (6 Apr 2015 в 20:34) Всё спасибо сделал так $a=$time+300; $b=$a-$time; $c=b/60; $d=ceil($c); echo\"$d\";- начался обратный отчет.. в целых числах Закройте тему) Скиталец (6 Apr 2015 в 21:21) --Цитата-- Spiro (6 Apr 2015 в 20:34): Всё спасибо сделал так $a=$time+300; $b=$a-$time; $c=b/60; $d=ceil($c); echo\"$d\";- начался обратный отчет.. в целых числах Закройте тему) ---------- Spiro, Функция ceil() если не ошибаюсь округляет тебе же нужна sprintf() в твоем случае будет так echo sprintf(\"%01.2f\",$b); Скиталец (6 Apr 2015 в 21:25) Хотя если честно не уверен, но вроде бы так используется... Кредитор (6 Apr 2015 в 22:31) вообще то переменная $time ребята, в социале, это тоже самое что time() )) и чтобы привести содержимое в вид часы:минуты:секунды, в социале существует функция - vremja() . вот в ней уже и нужно все править. А лучше вообще переписать древний код этой функции на вменяемый, этого века Кредитор (6 Apr 2015 в 22:36) <? function CountTime($time) { if ($time > 0 && $time < 60)return sprintf(\"%02d сек.\", $time % 60); elseif ($time >= 60 && $time < 3600)return sprintf(\"%02d мин. %02d сек.\", (int)(($time % 3600) / 60), $time % 60); elseif ($time >= 3600 && $time < 86400)return sprintf(\"%02d ч. %02d мин. %02d сек.\", (int)(($time % 86400) / 3600), (int)(($time % 3600) / 60), $time % 60); elseif ($time >= 86400)return sprintf(\"%02d дней. %02d ч. %02d мин. %02d сек.\", (int)($time / 86400), (int)(($time % 86400) / 3600), (int)(($time % 3600) / 60), $time % 60); } $a = $time+300; $b = $a-$time; echo \'Осталось : \' . CountTime($b);//начался обратный отчет... ?> Кредитор (6 Apr 2015 в 22:38) только вот этот бред $a = $time+300; $b = $a-$time; работать не будет. логику посмотрите. $b всегда будет ровно 300 Saint (6 Apr 2015 в 22:44) Ну я как раз смотрел файл времени ,так что если кому интересно вот мой вариант функции vremja function vremja($time = null) { global $user; if ($time == null) return \'#error vremja\'; if (isset($user)) $time = $time + $user[\'set_timesdvig\'] * 60 * 60; $timep = date(\'j M Y - H:i\', $time) ; $time_p[0] = date(\'j n Y\', $time); $time_p[1] = date(\'H:i\', $time); if ($time_p[0] == date(\'j n Y\')) $timep = date(\'H:i:s\', $time); if (isset($user)) { if ($time_p[0] == date(\'j n Y\', time() + $user[\'set_timesdvig\'] * 60 * 60)) $timep = date(\'H:i:s\', $time); if ($time_p[0] == date(\'j n Y\', time()-60*60*(24 - $user[\'set_timesdvig\']))) $timep = \"Вчера в {$time_p[\'1\']}\"; } else { if ($time_p[0] == date(\'j n Y\')) $timep = date(\'H:i:s\', $time); if ($time_p[0] == date(\'j n Y\', time() - 60 * 60 * 24)) $timep = \"Вчера в {$time_p[\'1\']}\"; } $timep = str_replace( array(\'Jan\', \'Feb\', \'Mar\', \'May\', \'Apr\', \'Jun\', \'Jul\', \'Aug\', \'Sep\', \'Oct\', \'Nov\', \'Dec\'), array (\'Янв\', \'Фев\', \'Марта\', \'Мая\', \'Апр\', \'Июня\', \'Июля\', \'Авг\', \'Сент\', \'Окт\', \'Ноября\', \'Дек\') , $timep); return $timep; } Saint (6 Apr 2015 в 22:45) Ну я как раз смотрел файл времени ,так что если кому интересно вот мой вариант функции vremja <? function vremja($time = null) { global $user; if ($time == null) return \'#error vremja\'; if (isset($user)) $time = $time + $user[\'set_timesdvig\'] * 60 * 60; $timep = date(\'j M Y - H:i\', $time) ; $time_p[0] = date(\'j n Y\', $time); $time_p[1] = date(\'H:i\', $time); if ($time_p[0] == date(\'j n Y\')) $timep = date(\'H:i:s\', $time); if (isset($user)) { if ($time_p[0] == date(\'j n Y\', time() + $user[\'set_timesdvig\'] * 60 * 60)) $timep = date(\'H:i:s\', $time); if ($time_p[0] == date(\'j n Y\', time()-60*60*(24 - $user[\'set_timesdvig\']))) $timep = \"Вчера в {$time_p[\'1\']}\"; } else { if ($time_p[0] == date(\'j n Y\')) $timep = date(\'H:i:s\', $time); if ($time_p[0] == date(\'j n Y\', time() - 60 * 60 * 24)) $timep = \"Вчера в {$time_p[\'1\']}\"; } $timep = str_replace( array(\'Jan\', \'Feb\', \'Mar\', \'May\', \'Apr\', \'Jun\', \'Jul\', \'Aug\', \'Sep\', \'Oct\', \'Nov\', \'Dec\'), array (\'Янв\', \'Фев\', \'Марта\', \'Мая\', \'Апр\', \'Июня\', \'Июля\', \'Авг\', \'Сент\', \'Окт\', \'Ноября\', \'Дек\') , $timep); return $timep; } ?> Скиталец (6 Apr 2015 в 23:01) --Цитата-- Кредитор (6 Apr 2015 в 22:36): <? function CountTime($time) { if ($time > 0 && $time < 60)return sprintf(\"%02d сек.\", $time % 60); elseif ($time >= 60 && $time < 3600)return sprintf(\"%02d мин. %02d сек.\", (int)(($time % 3600) / 60), $time % 60); elseif ($time >= 3600 && $time < 86400)return sprintf(\"%02d ч. %02d мин. %02d сек.\", (int)(($time % 86400) / 3600), (int)(($time % 3600) / 60), $time % 60); elseif ($time >= 86400)return sprintf(\"%02d дней. %02d ч. %02d мин. %02d сек.\", (int)($time / 86400), (int)(($time % 86400) / 3600), (int)(($time % 3600) / 60), $time % 60); } $a = $time+300; $b = $a-$time; echo \'Осталось : \' . CountTime($b);//начался обратный отчет... ?> ---------- Кредитор, А еще можно стырить функцию из джона :D Spiro (6 Apr 2015 в 23:12) функция времени в inc/fnc.php находится? Источник: http://www.dcms-social.ru/forum/13/34/58529/