Vergleiche gespeichertem timestamp mit aktueller Zeit?
Michi
- php
0 thematrixhasyou0 Auge
Hallo,
für eine IP-Sperre speichere ich den timestamp in die Datenbank. Dann lese ich ihn aus und möchte ihn mit der aktuellen Zeit vergleichen und feststellen, wieviele Stunden dazwischen liegen. Ist die Zeit grösser als 24 Stunden wird $allowed auf 1 gesetzt, ansonsten auf 0.
Mein Problem: Wie kann ich die beiden Timestamps (gespeicherten und den aktuellen) miteinander auf die Stunden vergleichen? Ich kriegs nicht hin...
Grüße
Michi
Mein Problem: Wie kann ich die beiden Timestamps (gespeicherten und den aktuellen) miteinander auf die Stunden vergleichen? Ich kriegs nicht hin...
Grüße
Michi
:-)
$time1 = timestamp 1;
$time2 = timestamp 2;
$time = $time2 - $time1;
$zeitfenster = 60 * 60 * 24;
if ($time >= $zeitfenster) {
Anweisungen ...
}
have phun.
Hallo
$time1 = timestamp 1;
$time2 = timestamp 2;
$time = $time2 - $time1;$zeitfenster = 60 * 60 * 24;
if ($time >= $zeitfenster) {
Anweisungen ...
}
Kann mir mal jemand sagen, warum die 86400 Sekunden
bei jedem Skriptaufruf neu errechnet werden sollen?
Die zwei Multiplikationen werden den Interpreter mit
Sicherheit nicht auslasten, aber ich denke, bei
ähnlichen, aber mit komplizierteren Berechnungen
verbundenen, Fällen, kann sowas Rechenzeit kosten.
if ($time >= 86400)
{
}
oder $zeitfenster = 86400; und weiter wie ganz oben.
Tschö, Auge
if ($time >= 86400)
{
}oder $zeitfenster = 86400; und weiter wie ganz oben.
Naja, bei der genannten Lösung kann man noch nachvollziehen, woher die Zahl kam... das ist wohl der einzige Grund.
Grüße
Lars
hi,
Naja, bei der genannten Lösung kann man noch nachvollziehen, woher die Zahl kam... das ist wohl der einzige Grund.
für die nachvollziehbarkeit kannst du ja gerne einen zusätzlichen kommentar einfügen, der die herkunft der zahl 86400 erklärt ;-)
gruss,
wahsaga
Hallo
$time1 = timestamp 1;
$time2 = timestamp 2;
$time = $time2 - $time1;$zeitfenster = 60 * 60 * 24;
if ($time >= $zeitfenster) {
Anweisungen ...
}Kann mir mal jemand sagen, warum die 86400 Sekunden
bei jedem Skriptaufruf neu errechnet werden sollen?
Die zwei Multiplikationen werden den Interpreter mit
Sicherheit nicht auslasten, aber ich denke, bei
ähnlichen, aber mit komplizierteren Berechnungen
verbundenen, Fällen, kann sowas Rechenzeit kosten.if ($time >= 86400)
{
}oder $zeitfenster = 86400; und weiter wie ganz oben.
Tschö, Auge
High :-)
Als erstes kostet da nix Rechenzeit und als zweites ist das Programmierstil.
Programmierstil zu Lasten des Prozessors ist ok. du machst ja auch Unmengen von Tabs, Leerzeichen und vielleicht sogar Kommentare in Deinen Code.
Gruß Lars.
Hi Lars,
High :-)
Als erstes kostet da nix Rechenzeit und als zweites ist das Programmierstil.Programmierstil zu Lasten des Prozessors ist ok. du machst ja auch Unmengen von Tabs, Leerzeichen und vielleicht sogar Kommentare in Deinen Code.
Sorry, aber was soll der Müll? Auge hat dich auf etwas aufmerksam gemacht, und deine Antwort ist dermaßen überheblich und dazu unqualifiziert. Lass es bitte.
Grüße aus Barsinghausen,
Fabian
Bist Du hier der Polizist oder was?
Als erstes wollte ich nicht überheblich klingen und habe das nicht böse gemeint. es ist eben so.
Als Zweites bitte ich Dich, Dich beim nächsten mal Themaorientiert zu verhalten. deine Meinung über mich interessiert hier niemanden.
Gruß
Hi Lars,
Bist Du hier der Polizist oder was?
U.U kann dir das so vorkommen.
Als erstes wollte ich nicht überheblich klingen und habe das nicht böse gemeint. es ist eben so.
Nein, es ist eben nicht so. Auge hat völlig Recht, und dein Reaktion stinkt mir. Insbesondere, da deine Andeutung von wegen Kommentaren noch größerer Blödsinn ist.
Als Zweites bitte ich Dich, Dich beim nächsten mal Themaorientiert zu verhalten. deine Meinung über mich interessiert hier niemanden.
Es ist völlig egal, ob es jemanden interessiert oder nicht. Du musst meine Postings nicht lesen, wenn sie dir nicht passen.
Grüße aus Barsinghausen,
Fabian
Hallo
Als erstes kostet da nix Rechenzeit und als zweites ist das Programmierstil.
1. kostet das doch Rechenzeit (in dem Beispiel sehr wenig,
könnte aber auch mehr sein)
2. ist es guter[tm] Programmierstil so etwas entweder fest,
oder als fertige Variable festzulegen, könnte ja öfter gebraucht werden.
Programmierstil zu Lasten des Prozessors ist ok. du machst ja auch Unmengen von Tabs, Leerzeichen und vielleicht sogar Kommentare in Deinen Code.
Tabs und Leerzeichen dienen der Lesbarkeit des Codes,
speziell während der Entwicklung. Kommentare werden nicht geparst,
kosten also auch keine Rechenzeit.
Gruß Lars.
Tschö, Auge
Hallo
Als erstes kostet da nix Rechenzeit und als zweites ist das Programmierstil.
- kostet das doch Rechenzeit (in dem Beispiel sehr wenig,
könnte aber auch mehr sein)
Also gut. Du hast natürlich recht.
- ist es guter[tm] Programmierstil so etwas entweder fest,
oder als fertige Variable festzulegen, könnte ja öfter gebraucht werden.
Genau... Als Variable festlegen hört sich gut an. Es handelt sich ja nicht um eine Konstante sondern um ZEIT. Was das Update eines Skripts sehr verkomplizieren kann.
Programmierstil zu Lasten des Prozessors ist ok. du machst ja auch Unmengen von Tabs, Leerzeichen und vielleicht sogar Kommentare in Deinen Code.
Tabs und Leerzeichen dienen der Lesbarkeit des Codes,
speziell während der Entwicklung. Kommentare werden nicht geparst,
kosten also auch keine Rechenzeit.
Genau. Sie dienen der Lesbarkeit, der Übersicht oder sogar der Information welcher Codeabschnitt was leistet.
Ich könnte mir jedoch vorstellen, dass JEDES Bit eines Dokuments Rechenleistung verbraucht, was uns wieder dazu bringt, dass es zwar nicht KEINE Rechenleistung ist, jedoch es sich um SEHR wenig Rechenleistung dreht.
Also wie weit bringt uns die Goldwiegerei? Wenn es sich darum dreht, eine Multiplikation mehr oder weniger pro Skript - oder sagen wir mal 10 Multiplikationen pro Skript- auszuführen, muss der Traffic ganz schön hoch sein, um den Prozessor auszulasten.
Eine unnötige Verkomplizierung des Skripts durch schlechte MySQL-Queries oder 1000 unnötigen requires sollte man aber eher unterlassen. Nebenbei gesagt ist das Dateisystem von Linux verdammt schnell, da muss man sich nicht mal um require() Sorgen machen.
Wenn Du Deine 86400 Sekunden nutzen magst, bemängelt das sicher kein Mensch, solange Du eine Variable dazu benutzt. Aber meinst du, es lastet Deinen Rechner zu sehr aus, wenn man 60*60*24 nimmt? Ich glaube nicht.
Schöne Grüße Lars.