Показать сообщение отдельно

  #8239  
Старый 30.01.2009, 00:46
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

2 Mixon

Тест (могут быть некоторые неточности с округлениями и если время больше суток - не стал заморачиваться, сам поймешь, что делать):

PHP код:
<?php
$c
=18224;      // Введите кол-во секунд
echo "$c\n";
if (
$c<60) echo "0 hours 0 minutes " .round($c,0) . " seconds\n";
if (
$c>=3600){
   
$c $c/3600;
   
$h explode('.',$c);
   
$minutes1 substr($h[1],0,2);
   
$sec1 substr($h[1],2,2);
   if (
substr($minutes1,0,1)>5) {$minutes=substr($minutes1,0,2)*6;$minutes round($minutes,0);}
   else {
$minutes=substr($minutes1,0,2)*0.6;$minutes round($minutes,0);}   
   if (
substr($sec1,0,1)/10>5) {$sec=substr($sec1,0,2)*6;$sec round($sec,0);}
   else {
$sec=substr($sec1,0,2)*0.6;$sec round($sec,0);}   
   echo 
$h[0]." hours "$minutes." minutes " .$sec " seconds\n";
}

   if (
$c>=60 && $c<3600) {
   
$c $c/60;
   
$a explode('.',$c);
   if (
substr($a[1],0,1)>5) {$sec=substr($a[1],0,2)*6;$sec round($sec,0);}
   else {
$sec=substr($a[1],0,2)*0.6;$sec round($sec,0);}   
   echo 
"0 hours "$a[0]." minutes " .$sec " seconds\n";
   } 
?>
Ну и рабочий код для измерения времени работы скрипта в нужном тебе формате:

PHP код:
<?php
$start 
microtime(true); 
/* тут мы делаем что-то, чтобы прошло какое-то время */
While($a<100000000){  
$a++; 

/* Кончили делать что-то */
$end microtime(true); 
echo 
"Time start:" date('H:i:s',$start)."\n"
echo 
"Time end:"date('H:i:s',$end)."\n"
$c round(($end $start),0); 
if (
$c<60) echo "0 hours 0 minutes " .round($c,0) . " seconds\n";
if (
$c>=3600){
   
$c $c/3600;
   
$h explode('.',$c);
   
$minutes1 substr($h[1],0,2);
   
$sec1 substr($h[1],2,2);
   if (
substr($minutes1,0,1)>5) {$minutes=substr($minutes1,0,2)*6;$minutes round($minutes,0);}
   else {
$minutes=substr($minutes1,0,2)*0.6;$minutes round($minutes,0);}   
   if (
substr($sec1,0,1)/10>5) {$sec=substr($sec1,0,2)*6;$sec round($sec,0);}
   else {
$sec=substr($sec1,0,2)*0.6;$sec round($sec,0);}   
   echo 
$h[0]." hours "$minutes." minutes " .$sec " seconds\n";
}

   if (
$c>=60 && $c<3600) {
   
$c $c/60;
   
$a explode('.',$c);
   if (
substr($a[1],0,1)>5) {$sec=substr($a[1],0,2)*6;$sec round($sec,0);}
   else {
$sec=substr($a[1],0,2)*0.6;$sec round($sec,0);}   
   echo 
"0 hours "$a[0]." minutes " .$sec " seconds\n";
   } 
?>


Задачка на самом деле оказалась не такой уж и простой

Последний раз редактировалось Pashkela; 30.01.2009 в 00:55..
 
Ответить с цитированием