time()+900, abspeichern und mit date auslesen?
Christian
- php
Hi, ich nehme time() und addiere 900.
Das heißt doch eigentlich das ich 5Minuten addiere.(?)
---
$onlineZeit=time();
$onlineDelete=$onlineZeit+900;
---
Nun lese ich onlineZeit und onlineDelete mit Date aus:
---
$onlineZeit = date("H:i:s", $zeile["onlineZeit"]);
$onlineDelete = date("H:i:s", $zeile["onlineDelete"]);
---
Problem ist das die 2 Zeiten falsch ausgelesen werden und das die Differenz keine 15Minuten sind:
Letzte Aktivität: 00:12:46 Delete Time: 00:12:55
Wir haben jetzt 19Uhr und nicht 0 Uhr.
Ich gehe davon aus das der Fehler irgendwo beim adden von 900 liegt.
Hallo Christian,
Hi, ich nehme time() und addiere 900.
Das heißt doch eigentlich das ich 5Minuten addiere.(?)
Nein. Du addierst 15 Minuten.
$onlineZeit=time();
$onlineDelete=$onlineZeit+900;
Hier speicherst Du die aktuelle Zeit sowie die aktuelle Zeit + 900 Sekunden in den Variablen $onlineZeit und $onlineDelete.
$onlineZeit = date("H:i:s", $zeile["onlineZeit"]);
$onlineDelete = date("H:i:s", $zeile["onlineDelete"]);
Hier verwendest Du die Variablen $zeile["onlineZeit"] und $zeile["onlineDelete"]. Merkst Du was? Du hast vorher die Variablen $onlineZeit und $onlineDelete genommen. Und jetzt nimmst Du zwei andere.
$onlineZeit = date("H:i:s", $onlineZeit);
$onlineDelete = date("H:i:s", $onlineDelete);
sollte klappen...
Ich gehe davon aus das der Fehler irgendwo beim adden von 900 liegt.
Nein, das tut er nicht.
Viele Grüße,
Christian
$onlineZeit = date("H:i:s", $zeile["onlineZeit"]);
$onlineDelete = date("H:i:s", $zeile["onlineDelete"]);
Hier verwendest Du die Variablen $zeile["onlineZeit"] und $zeile["onlineDelete"]. Merkst Du was? Du hast vorher die Variablen $onlineZeit und $onlineDelete genommen. Und jetzt nimmst Du zwei andere.
Hi,
[Ich meinte auch 15Minuten.]
ich habe eben etwas umgestellt.
$onlineZeit=time();
$onlineDelete=time()+1500;
Das wird in der Datenbank gespeichert und
$onlineZeit = date("H:i:s", $zeile["onlineZeit"]);
$onlineDelete = date("H:i:s", $zeile["onlineDelete"]);
bringt das in eine "lesbare" Form.
Wenn ich jetzt time() plus 150000 rechne:
Letzte Aktivität: 00:13:02 Delete Time: 00:38:02
Das ist auch noch nicht richtig.
Wie bekomme ich das jetzt hin das er time() plus 15Minuten(900) rechnet und richtig mit date() ausgibt?
Hallo Christian,
Wenn ich jetzt time() plus 150000 rechne:
Letzte Aktivität: 00:13:02 Delete Time: 00:38:02Das ist auch noch nicht richtig.
Läuft Deine Uhr vielleicht komplett falsch? Oder ist das Feld in der Datenbank vielleicht zu klein? Ein Timestamp heutzutage ist nämlich 10 Stellen lang.
Bei mir funktioniert das ganze nämlich:
christian@midnight:~$ php
<?php
$onlineZeit=time();
$onlineDelete=time()+1500;
$zeile["onlineZeit"] = $onlineZeit;
$zeile["onlineDelete"] = $onlineDelete;
$onlineZeit = date("H:i:s", $zeile["onlineZeit"]);
$onlineDelete = date("H:i:s", $zeile["onlineDelete"]);
echo "$onlineZeit\n$onlineDelete\n";
?>
19:54:20
20:19:20
christian@midnight:~$
(die Zuweisung in der Mitte ist nur deswegen, weil ich es nicht extra zum Testen in die Datenbank schreiben wollte)
Viele Grüße,
Christian
Danke, es läuft alles.
Ich habe die Spaltenlänge von onlineZeit und onlineDelete von 8 auf 10 geändert.(Ich hatte beim erstellen der Datenbank an eine Zeit mit Date gedacht...)