Timestamp Countdown

Deadfish

Mitglied
Hallo,

Habe ein kleines Problem mit meinen Timestamp Code ist mir grade erst aufgefallen ,dass
wenn ich in die DB eintrage 30 min (1800) dann gibt er aus 1:30:00 Die 1 stimmt nicht da soll ja ne 0 stehen Ihr mal Code Und ne Erklärung wie es gehen soll :

Variable $timestampist die angeben Zeit die ausgewählt wurde z.b 30min (1800s)

PHP:
$differenz = $timestamp - time();

$uhrzeit = date("H:i:s", $differenz);

Er Soll die aktuelle Zeit ("time();") - die 30 min ($timestamp) nemen aber als Ausgabe habe ich immer 1H 30 min und 0sec er zählt zwar runter aber es soll ja Lauten 00:30:00

wenn ich den Code umdrehe :

$differenz = time() - $timestamp ;

dann stimmt es zwar aber er zählt hoch ^^
 
Nur zum Verständnis deinerseits: time() liefert die Anzahl der Sekunden seit EPOCH (Beginn der Unix-Zeit am 1.1.1970).

Wenn man von 1800 einen Milliarden-Betrag abzieht, was kommt da wohl raus?
 
hab es gelöst ihr mal der Code + ein bisschen mehr wer es brauch

PHP:
$differenz = $timestamp - 3600 - time();

$uhrzeit = date("H:i:s", $differenz);
if( 1 == $job)
{
 // Anzeigen, dass man zuwenig geld hat
echo"Du Arbeitest noch ";

echo ($uhrzeit); 
$eintrag =
 "UPDATE  benutzerdaten
 SET 
 job = 2,
 times = 0
 WHERE id = '".$_SESSION["user_id"]."' AND ".time()." > '$timestamp'";
 
 $eintragen = mysql_query($eintrag);
 
Mal ganu ehrlich. Ich habe dein Code gelesen und ich versteh nicht, wass der bewirken soll.
Du überschreibst wenn time() (also jetzt als Zahl in Sekunden) grösser ist als $timestamp (den du im Query übrigens als String handelst).
Warum machst du das so kompliziert?

SQL:
... AND SYSDATE() > FROM_UNIXTIME($timestampe)
Naja, aber vor allem solltest du im SQL nicht Zahlen mit Texten vergleichen.

Auch die BErechnung von $differenz ist eher kompliziert. du nimmst $timestamp, ziehst 1 Stunde ab und de aktuelle Uhrzeit. Für sowas gibts was toles, was auch lesbar ist
PHP:
$differenz =$timestamp - strtotime("now 1 hour");
 
Zuletzt bearbeitet von einem Moderator:
Zurück