URL: https://www.overclockers.at/coding-stuff/txt_log_mit_php_auswerten_205871/page_2 - zur Vollversion wechseln!
Achso, ja, also doch kompliziert.
hmmm unix timestamps sind ja einfach sekunden oder?
ich könnt die login time hernehmen und die sekunden bis 22:00 ausrechnen,
dann die sekunden zwischen login und logout time berechnen und schaun obs weniger oder mehr ist.
wenn der tag nicht gleich ist, muss er auch zw. 22-23 eingeloggt wesen sein
edit: zumindest wenn er sich nicht nach 2300 eingeloggt hat..
bischen komplizierter *g* ich würde so vorgehen:
1) überprüfen ob login und logout am selben tag.
2a) falls ja, schaun ob login vor 23uhr und logout nach 22 uhr. -> überführt
2b) falls nein, reicht zu überprüfen ob er login vor 22 uhr war.
wäre auch möglich.
ich habs in der zwischenzeit mal auf extreme patchwerk versucht und es geht 
so hab ich alle, die nach 22:00 noch aktiv waren.Code: PHP$limit = date("Y-m-d 22:00:00",strtotime($start)); $allowed = strtotime($limit) - strtotime($start); $active = strtotime($end) - strtotime($start); if($active > $allowed) echo $username;
aber auch die, wo $start nach 23:00 liegt, sollte es die gebenZitat von Umlüxso hab ich alle, die nach 22:00 noch aktiv waren.
den fall gabs seit log start noch nie. und warum überhaupt?
z.b. 23:00 bis 21:00 ist immer noch < 23:00 bis 23:00
hmm? nach 22:00 ist $start > $limit, d.h. $allowed negativ, d.h. die Abfrage immer wahrZitat von Umlüxz.b. 23:00 bis 21:00 ist immer noch < 23:00 bis 23:00
ach wegen datum klar. ok das lässt sich noch ändern. thx
Wenn übrigens dein Log etwas lang ist und du dich wegen hoher Runtimes wunderst - das liegt an den Datums-Funktionen in php, weil die sind extremst laa.............aahm
man kann das etwas optimieren indem man die Timestamps von 0:00 von jedem Tag cached und dann die Uhrzeit (+h*60*60+m*60+s) dazuzählt.
Hatte vor kurzem erst so ein Problem... Das caching hat 90% Runtime reduziert.
das geht schon, sind immer nur die letzten 2 wochen drin.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025