Heyho 
Ich habe mir nun einen Counter geschreiben. Allerdings habe ich (wies sollte es anders sein) 'nen kleines Problem.
Fähigkeiten des Counters sind Counter gesamt, Besucher gestern und Besucher heute - gespeichert wird in einer db.
Beim Counter funktioniert auch alles, bis auf die Umschaltung zwischen Besucher gestern / heute. Um Punkt Mitternacht, soll das Script die besucher von heute auf gestern schieben und den heute counter auf 0 setzten (natürlich nur, wenn besucher da sind zur ausführung des scripts.).
Soweit so gut, klappt auch.
Zur Funktionsweise: Ich habe mir hierzu überlegt, dass ich das mit timestamps mache, die ja bekanntlich seit dem 1.1.1970 00:00,00 uhr laufen. Jede Sekunde einer mehr. Also nehme ich den timestamp time() und teile ihn durch (60*60*24) um auf die tage seit 1970 zu kommen. Das ganze schneide ich nach dem Komma ab und setzte es in die datenbank für jemweils heute / gestern (gestern ein tag weniger). Sobal die anzahl der Tage umspringt, wird der counter wie oben beschrieben, geleert / verschoben.
Klappt ebenfalls. Allerdings berechnet er mir nicht um 12 uhr nachts, sondern um 2 uhr morgens.
Zur Überprüfung: Wenn ich mit date() einen timestamp aus 0 erzeuge bekomme ich 1.1.1970 um 1:00,00 uhr. Gut, dass schiebe ich auf die Zeitzonen. Aber woher kommt die zweite stunde? wieso ist erst morgens um 2 uhr ein weiterer kompletter tag um und nicht um 1 uhr?
Hier mal ein Beispiel, wie man das Überprüfen kann. EInfach Ausgabe von:
Nun setzt mal den Rechner auf kurz vor 12 startet nen php-server und schaut welches Zeile den Anbruch eines neuen Tag zeigt. Ich verstehe nicht, warum 2 stunden nötig sind...
Das Gesamtproblem sehr schwer zu erklären, wenn es Verständnissprobleme gibt, bitte melden. Mir liegt viel daran, das hier zu verstehen!!
Danke euch sehr!
netswipe

Ich habe mir nun einen Counter geschreiben. Allerdings habe ich (wies sollte es anders sein) 'nen kleines Problem.
Fähigkeiten des Counters sind Counter gesamt, Besucher gestern und Besucher heute - gespeichert wird in einer db.
Beim Counter funktioniert auch alles, bis auf die Umschaltung zwischen Besucher gestern / heute. Um Punkt Mitternacht, soll das Script die besucher von heute auf gestern schieben und den heute counter auf 0 setzten (natürlich nur, wenn besucher da sind zur ausführung des scripts.).
Soweit so gut, klappt auch.
Zur Funktionsweise: Ich habe mir hierzu überlegt, dass ich das mit timestamps mache, die ja bekanntlich seit dem 1.1.1970 00:00,00 uhr laufen. Jede Sekunde einer mehr. Also nehme ich den timestamp time() und teile ihn durch (60*60*24) um auf die tage seit 1970 zu kommen. Das ganze schneide ich nach dem Komma ab und setzte es in die datenbank für jemweils heute / gestern (gestern ein tag weniger). Sobal die anzahl der Tage umspringt, wird der counter wie oben beschrieben, geleert / verschoben.
Klappt ebenfalls. Allerdings berechnet er mir nicht um 12 uhr nachts, sondern um 2 uhr morgens.
Zur Überprüfung: Wenn ich mit date() einen timestamp aus 0 erzeuge bekomme ich 1.1.1970 um 1:00,00 uhr. Gut, dass schiebe ich auf die Zeitzonen. Aber woher kommt die zweite stunde? wieso ist erst morgens um 2 uhr ein weiterer kompletter tag um und nicht um 1 uhr?
Hier mal ein Beispiel, wie man das Überprüfen kann. EInfach Ausgabe von:
PHP-Code:
<?php
print date("d. M Y, H:i", 0) ."
"; //timestamp bei 0
print (time()+3600+(3600*1)) / (60 * 60 * 24) ."
"; //timestamp wird anfangs um 2 stunden vergrößert (Die 1 steht für Zeitzone UTC+1)
print (time()+3600) / (60 * 60 * 24) ."
"; //Vergrößerung um eine Stunde
print time() / (60 * 60 * 24) ."
"; //normalzeit
?>
Das Gesamtproblem sehr schwer zu erklären, wenn es Verständnissprobleme gibt, bitte melden. Mir liegt viel daran, das hier zu verstehen!!
Danke euch sehr!
netswipe
Kommentar