Как узнать различие в часах

Discussion in 'PHP' started by rcc0023, 7 Jan 2010.

  1. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    Как узнать разность любого времени от своего?
    То есть взять какое либо время сравнить и выявить разность, +6, -7 и т.д.

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

    пример неудачной реализации.. не рабочий вариант
    PHP:
    $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.']';
     
  2. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Переведи в UnixTimeStamp и попробуй там..
     
  3. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    только H:i... и не известно эти часы следующего дня или текущего..
     
  4. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Ну и как ты планируешь узнать разниу, не зная, это текущий или завтрашний день о_О
    перводи в юникс, вычитай, обратно в юникс
     
  5. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    rcc0023 Вопрос - зачем вам это надо? Не проще ли запрашивать часовой пояс относительно GMT или UTC?
     
    _________________________