Jak wyświetlić różnicę czasową zapisaną w formie dni, godzin, minut i sekund?

piechnat

W PHP czas podawany jest w formacie UNIX'owym czyli w ilości sekund, które upłynęły od daty pierwszego stycznia 1970 roku.

<?
  //przekształcamy datę w przeszłości do formatu unix'owego
   $data = strtotime("2003-02-08 12:32:30");
  //pobieramy bieżący czas
   $teraz = time(); 
  //różnice dzielimy przez jeden dzień czyli 60 s. * 60 m. * 24 godz.
   $dni_r = ($teraz - $data) / (60 * 60 * 24);
  //część całkowita z dzielenia to liczba dni 
   $dni_c = floor($dni_r);
  //resztę z dzielenia mnożymy przez dobę 
   $godzin_r = ($dni_r - $dni_c) * 24; 
  //część całkowita z mnożenia to liczba godzin 
   $godzin_c = floor($godzin_r);
  //resztę mnożymy przez godzinę
   $minut_r = ($godzin_r - $godzin_c) * 60;
  //część całkowita to liczba minut
   $minut_c = floor($minut_r);
  //część całkowita reszty pomnożonej przez minutę to liczba sekund
   $sekund_c = floor(($minut_r - $minut_c) * 60);

  echo "Od daty ".date("Y-m-d H:i:s", $data)." upłynęło:&ltbr&gt";
  echo "Dni: $dni_c, Godzin: $godzin_c, Minut: $minut_c, Sekund: $sekund_c";
FAQ

0 komentarzy