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
Aby Polska rosła w siłę, a ludzie żyli dostatniej. Edward Gierek