PDA

Просмотр полной версии : Как узнать различие в часах


rcc0023
07.01.2010, 15:32
Как узнать разность любого времени от своего?
То есть взять какое либо время сравнить и выявить разность, +6, -7 и т.д.

т.е. взяли 13:00 сравнили с 20:00, получили что получить 13 из 20 нужно -7
взяли наоборот узнали что +7

пример неудачной реализации.. не рабочий вариант

$x1=13;
$x2=11;

for($i=1;$i<=24;$i++){
echo '['.$x1.'-'.$x2.']';
++$x1;if($x1==25)$x1=1;
++$x2;if($x2==25)$x2=1;


if(($x1+$i)>($x2+i))++$st1;else ++$st2;

}


echo '<br>['.$st1.'-'.$st2.']';


$r=(($st1<$st2)?'+':'-');

if($st1>$st2 and $x1>$x2)$rr=($x2+24)-$x1;
elseif($st1>$st2 and $x2>$x1)$rr=$x2-$x1;
elseif($st1<$st2 and $x2>$x1)$rr=($x1+24)-$x2;
elseif($st1<$st2 and $x1>$x2)$rr=$x1-$x2;

echo '['.$r.$rr.']';

-=Zhenek=-
07.01.2010, 15:42
Переведи в UnixTimeStamp и попробуй там..

rcc0023
07.01.2010, 15:44
только H:i... и не известно эти часы следующего дня или текущего..

wildshaman
07.01.2010, 15:48
только H:i... и не известно эти часы следующего дня или текущего..
Ну и как ты планируешь узнать разниу, не зная, это текущий или завтрашний день о_О
перводи в юникс, вычитай, обратно в юникс

Gifts
07.01.2010, 20:28
rcc0023 Вопрос - зачем вам это надо? Не проще ли запрашивать часовой пояс относительно GMT или UTC?