Skrypty > eDate2DateCounter

Skrypt ten potrafi obliczać różnicę czasu pomiędzy dwiema datami oraz czas, który upłynął od jakiegoś wydarzenia, lub, który pozostał do niego.

Główne funkcje skryptu:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
//========eDate2DateCounter v1.0.4========
// Autor: Emdek <http://emdek.cba.pl>
// 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óżnica czasu pomiędzy tymi dwiema datami wynosi: '; //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):'').'.');
       }
?>

Fukcję możemy wywołać tak żeby obliczała czas pomiędzy dwiema datami (jak parametry podajemy dwie daty w formacie: rok-miesiąc-dzień_miesiąca godzina:minuta:sekunda (godzinę minutę i sekundę możemy pominąć)):

1
<?= date2date ('2006-05-26 21:59:00', '2007-05-26'); ?>

Lub tak żeby obliczała różnicę czasu pomiędzy jakąś datą, a chwilą obecną (jako parametry podajemy datę (w formacie jak wyżej), wyraz "NOW", tekst wyświetalny w przypadku, gdy timestamp daty jest mniejszy od obecnego oraz tekst wyświetlany, gdy jest on większy):

1
<?= date2date ('2006-05-26', 'NOW', 'Od 2006-05-26 minęło: ', 'Do 2006-05-26 pozostało: '); ?>

Ostatnia aktualizacja: czwartek - 09.06.2005, 21:24

Argumentów nie należy liczyć, lecz ważyć. Cyceron