PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Timer gecodet! zweifel an der Funktionalität


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 ;)

|Coding
06.04.2005, 22:21:55
Ich habe jetzt nicht getestet, aber das ist für nen Timer, der nur ein den zeitlichen Abstand zweier Termine berechnet, doch sehr viel Code...

Was genau soll das Teil machen?

Slaughter
07.04.2005, 07:10:58
Na man gibt ein, wann z.B. die nächste LAN ist und dann gibt halt das Ding wieder wieviele Minuten/Stunden/Tage/Monate/Jahre es noch bis zur LAN ist.

feuervogel
07.04.2005, 09:16:53
$year=2009;
$month=8;
$day=17;
$hour=23;
$minute=45;
$timestampthen = mktime ( $hour , $minute , 0 , $month , $day , $year , -1 );
$difference = $timestampthen - time();
echo "Noch " . $difference / 3600 . " Stunden bis zur nächsten lan.";

muss denn immer alles so kompliziert sein?

|Coding
07.04.2005, 09:24:50
Er berücksichtigt aber noch schaltjahre und 31, 30 Monatstage. Ist aber doch etwas zuviel des guten.

feuervogel
07.04.2005, 09:57:04
Er berücksichtigt aber noch schaltjahre und 31, 30 Monatstage. Ist aber doch etwas zuviel des guten.
sowas erkennst du? ich erkenne in dem wurstsalat da oben nix *g*

|Coding
07.04.2005, 10:06:07
Mir ist zumindest das Array...$m31=array(1,3,5,7,8,10,12);...aufgefallen, darum gehe ich mal davon aus :P

Slaughter
07.04.2005, 17:41:27
Hei T_T

Was soll denn das heißen?
Was kann ich denn dafür, wenn man nicht die optimale Breite hat :(

Also ich komm prima damit zurecht ;)
Oder gibt es sowas wie eine Code-Form Vorschrift^^"

Na ja, aber ihr meint, es klappt alles, ja?

xabbuh
07.04.2005, 17:50:53
Oder gibt es sowas wie eine Code-Form Vorschrift^^"
Wenn du schon so fragst: Coding Standards (http://pear.php.net/manual/en/standards.php)

|Coding
07.04.2005, 17:56:24
Na ja, aber ihr meint, es klappt alles, ja?
Funktionieren tuts, bzw. es wird eine Ausgabe getätigt, ob die aber Stimmt... KA!

Slaughter
07.04.2005, 17:59:20
ob die aber Stimmt... KA!

Und wie kann man das rauskriegen? o.0?

@xabbuh
OMG Das ist voll lang... da spar ich mir liber ein paar Zeilen und mach es so^^"

|Coding
07.04.2005, 18:02:59
Und wie kann man das rauskriegen? o.0?
Nachrechnen... Kannst Du doch oder? :)

OMG Das ist voll lang... da spar ich mir liber ein paar Zeilen und mach es so^^"
Ist ja auch nur ein inoffizieller Standard, das ist keines Falls muss. doch hat dieser Standard nur Vorteile... Bessere Übersicht, weniger Flüchtigkeitsfehler, andere können sich schneller in den Code einarbeiten usw.

Slaughter
07.04.2005, 18:08:22
Nachrechnen... Kannst Du doch oder? :)

X(
dauert aber so lange, bis ich da alles durch hab :::::-(


Ist ja auch nur ein inoffizieller Standard, das ist keines Falls muss. doch hat dieser Standard nur Vorteile... Bessere Übersicht, weniger Flüchtigkeitsfehler, andere können sich schneller in den Code einarbeiten usw.

Hmmm.. vielleicht werde ich dann meine Codeweise mal etwas freundlicher für die Einarbeitung machen :)
Also in nächster Zeit :D

Trotzdem danke für die Hilfe ;)

Asrag
10.06.2005, 16:40:31
ok ich habs auch ausprobiert und es funkioniert andere Frage geht es auch das man eine Zeit fetlegt die die Uhr zutücklegen soll und das scribt sich automatisch die Uhrzeit holt und überprüft wie lange es noch dauert?

xabbuh
12.06.2005, 09:02:32
Wenn du diese Uhrzeit irgendwo speicherst, kannst du den Unterschied zwischen dieser Zeit und der aktuellen Zeit (time() (http://www.php.net/time)) berechnen und anschließend, die verbleibende Zeit anzeigen (http://php-faq.de/q/q-datum-intervall.html) lassen.