Odliczanie czasu w PHP


(Pablo Zwierzeta) #1

Obecnie korzystam z takiego skryptu:

<?php

//========eDate2DateCounter v1.0.4========

// Autor: Emdek 

// Licencja: GPL

function suffix ($Number) {

         return (($Number == 1)?'a':((in_array ($Number, array (2, 3, 4)) || ($Number > 20 && in_array (substr ($Number, -1, 1), array (2, 3, 4))))?'y':''));

         }

function date2date ($Date, $Date2, $Text = '', $Text2 = '') {

       $Date = strtotime ($Date);

       if ($Date2 == 'NOW') {

          if ($Date < time ()) {

             $Date2 = time ();

             $Prefix = $Text;

             }

          else {

               $Date2 = $Date;

               $Date = time ();

               $Prefix = $Text2;

               }

          }

       else {

           $Date2 = strtotime ($Date2);

           $Prefix = 'ró'; //Tekst wy¶wietlany w przypadku obliczania różnicy pomiędzy dwiema datami

           }

       $Days = intval (($Date2 - $Date) / 86400);

       $Hours = intval ((($Date2 - $Date) / 3600) - ($Days * 24));

       $Minutes = intval ((($Date2 - $Date) / 60) - (($Hours * 60) + ($Days * 1440)));

       $Seconds = intval ($Date2 - $Date - (($Minutes * 60) + ($Hours * 3600) + ($Days * 86400)));

       return ($Prefix.((!empty ($Days))?$Days.(($Days == 1)?' dzień':' dni'):'').((!empty ($Days) && !empty ($Hours))?', ':'').((!empty ($Hours))?$Hours.' godzin'.suffix ($Hours):'').(((!empty ($Hours) || !empty ($Days)) && !empty ($Minutes))?', ':'').((!empty ($Minutes))?$Minutes.' minut'.suffix ($Minutes):'').(((!empty ($Hours) || !empty ($Days) || !empty ($Minutes)) && !empty ($Seconds))?' i ':'').((!empty ($Seconds))?$Seconds.' sekund'.suffix ($Seconds):'').'.');

       }

?>

Daję to w include i tam gdzie potrzebuję:

$zx=date2date($row[1], 'NOW', 'KONIEC ', '');

Wszystko pięknie tylko chcę, żeby wyświetlał on czas od teraz do jakiegoś momentu. Później jakąś frazę.

Z góry dziękuję za pomoc.