Slaughter
06.04.2005, 21:24:52
Hi, habe einen Timer gecodet, der anzeigt, wie lange es noch bis zu einem Ereignis hin ist.
Er funktioniert, doch finde ich, war es zu einfach^^"
ich zweifle ein bissel an der richtigen Funktionalität. Habe schon viele Daten ausprobiert, aber, da ich nicht alles eingeben kann, wollte ich fragen, ob jemanden einen fehler oder einen nicht berücksichtigten Umstand auffällt.
Hier der Code
<?php
error_reporting(E_ALL);
function output($date,$what,$ex,$comma) {
if($date == 1) $result = "ein $what";
elseif($date <= 0) $result = "";
else $result = "$date $what$ex";
if(!empty($result)) {
if($comma) $result.=', ';
else $result.=' ';
}
return $result;
}
//hier kommt eigentlich noch eine Seite zum Eingeben hin, darum ist es so verschoben^^
$year=2009;
$month=8;
$day=17;
$hour=23;
$minute=45;
$year_time = output($year-date("Y"),'Jahr','e',0);
if($month-date("m") < 0) $month_time = output(date("m")-$month,'Monat','e',1);
else $month_time = output($month-date("m"),'Monat','e',1);
if($month_time != "" AND $day-date("d") > 0) {
$m31=array(1,3,5,7,8,10,12);
if(array_search(date("m"),$m31)) $timer_d = 31;
elseif(date("d") == 2) {
if(date("L")) $timer_d = 29;
else $timer_d = 28;
}
else $timer_d = 30;
$day_time = output($day+($timer_d-date("d")),'Tag','e',1);
if($day_time > $timer_d) {
$day_time = output($day_time-$timer_d,'Tag','e',1);
if($month_time != 0) $month_time--;
}
}
else $day_time = output(date("d")-$day,'Tag','e',1);
if(date("G") < $hour) $hour_time = output($hour-date("G"),'Stunde','n',1);
else {
$hour_time = output($hour+(24-date("G")),'Stunde','n',1);
if($day_time != 0) $day_time--;
}
while($hour_time > 24) $hour = $hour_time - 24;
if(date("i") < $minute) $minute_time = output($minute-date("i"),'Minute','n',1);
else {
$minute_time = output($minute+(60-date("G")),'Minute','n',1);
if($hour_time != 0) $hour_time--;
}
echo "Bis zum $day.$month.$year um $hour:$minute sind es noch genau $minute_time$hour_time$day_time$month_time$year_time!";
?>
Am meisten würde ich mich aber über ein "Hei, ist alles richtig! ;)" freuen ^^"
Danke schonmal im Vorraus ;)
Er funktioniert, doch finde ich, war es zu einfach^^"
ich zweifle ein bissel an der richtigen Funktionalität. Habe schon viele Daten ausprobiert, aber, da ich nicht alles eingeben kann, wollte ich fragen, ob jemanden einen fehler oder einen nicht berücksichtigten Umstand auffällt.
Hier der Code
<?php
error_reporting(E_ALL);
function output($date,$what,$ex,$comma) {
if($date == 1) $result = "ein $what";
elseif($date <= 0) $result = "";
else $result = "$date $what$ex";
if(!empty($result)) {
if($comma) $result.=', ';
else $result.=' ';
}
return $result;
}
//hier kommt eigentlich noch eine Seite zum Eingeben hin, darum ist es so verschoben^^
$year=2009;
$month=8;
$day=17;
$hour=23;
$minute=45;
$year_time = output($year-date("Y"),'Jahr','e',0);
if($month-date("m") < 0) $month_time = output(date("m")-$month,'Monat','e',1);
else $month_time = output($month-date("m"),'Monat','e',1);
if($month_time != "" AND $day-date("d") > 0) {
$m31=array(1,3,5,7,8,10,12);
if(array_search(date("m"),$m31)) $timer_d = 31;
elseif(date("d") == 2) {
if(date("L")) $timer_d = 29;
else $timer_d = 28;
}
else $timer_d = 30;
$day_time = output($day+($timer_d-date("d")),'Tag','e',1);
if($day_time > $timer_d) {
$day_time = output($day_time-$timer_d,'Tag','e',1);
if($month_time != 0) $month_time--;
}
}
else $day_time = output(date("d")-$day,'Tag','e',1);
if(date("G") < $hour) $hour_time = output($hour-date("G"),'Stunde','n',1);
else {
$hour_time = output($hour+(24-date("G")),'Stunde','n',1);
if($day_time != 0) $day_time--;
}
while($hour_time > 24) $hour = $hour_time - 24;
if(date("i") < $minute) $minute_time = output($minute-date("i"),'Minute','n',1);
else {
$minute_time = output($minute+(60-date("G")),'Minute','n',1);
if($hour_time != 0) $hour_time--;
}
echo "Bis zum $day.$month.$year um $hour:$minute sind es noch genau $minute_time$hour_time$day_time$month_time$year_time!";
?>
Am meisten würde ich mich aber über ein "Hei, ist alles richtig! ;)" freuen ^^"
Danke schonmal im Vorraus ;)