time+5min?

Kipperlenny

Erfahrenes Mitglied
moin

also dieser Code ist momentan vorhanden:
PHP:
<?
$result=$db->query("SELECT * FROM `update` WHERE id='1'");
$row=$db->fetch_array($result);
$punkt=$row['zeit'];
$result1=$db->query("SELECT * FROM `update` WHERE id='2'");
$row1=$db->fetch_array($result1);
$kampf=$row1['zeit'];
$time=time();
echo "Zeit: ".$time." - Charakter Punkte gabs um: ".$punkt.", Letzten Kämpfe waren um: ".$kampf;
?>

time() gibt mir ja nur nen unix timestamp - die Werte aus der Datenbank werden aber im 00:00:00 format abgerufen. Nun möchte ich die aktuelle Serverzeit also auch in diesem Format 00:00:00 ausgeben, wie mache ich das?

Außerdem würde ich ganz gerne die Zeit die aus der DB abgerufen wird (im 00:00:00) Format + 5 Minuten rechnen und das Ergebnis anzeigen lassen - wie geht das?

lenny
 
Um zum aktuellen Timestamp 5 Minuten zu addieren musst Du +300 Rechnen, denn 5 Minuten entsprechen 300 Sekunden. Um diesen Timestamp dann in ein lesbares Format zu bringen kannst Du date() nutzen.
 
PHP:
<?
$time=date("H:i:s");
echo $time;
?>

Das ist doch schonmal schön :-)

zu dieser Frage:
Außerdem würde ich ganz gerne die Zeit die aus der DB abgerufen wird (im 00:00:00) Format + 5 Minuten rechnen und das Ergebnis anzeigen lassen - wie geht das?
ist das überhaupt möglich? oder muss ich da die zeit im unix time stamp speichern, das ganze dann +300 nehmen und dann mit so einer funktion:

PHP:
<?
$time=date("H:i:s time()");
echo $time;
?>

umrechnen?
 
Besser ist wenn Du als Timestamp speicherst, ist einfach flexibler. Mit date() kannst Du diesen ja wunderbar in ein vernuenftiges Datum umwandeln.
 
Hallo!

time() gibt die akuell vergangenen Sekunden seit dem 1.1.1970 zurück.
date() wandelt/rechnet diese Sekunden in ein lesbares Format um.
Mit anderen Worten tut Dein letzter Code nichts anderes als die aktuelle Uhrzeit beim Aufruf des Scripts anzuzeigen (abgesehen davon dass das Komma fehlt). ;)
Richtig währe es so:
PHP:
<?php
$time = date("H:i:s", time()); 
echo $time; 
?>
Willst Du hingegen zu der aktuellen Uhrzeit 5 Minuten hinzuzählen, müsste es so aussehen:
PHP:
<?php
$time = date("H:i:s", time()+300);
echo $time;
?>
Willst Du eine bestimmte Zeit anzeigen, solltest Du (wie Dennis schon gesagt hat) diese Zeit als Timetsamp speichern.
Für zb.b gestern Mittag 12 Uhr währe dieser "1152093600".
Willst Du nun zu der Zeit von Gestern z.b. 36 Stunden hinzuzählen, könnte es so aussehen:
PHP:
<?php
$time = "1152093600"; // z.b. in der Datenbank gespeichert
$last_update = date("d.m.Y H:i:s", $time); // Umwandlung der gespeicherten Zeit
$next_update = date("d.m.Y H:i:s", $time+(60*60*36)); // Umwandlung der gespeicherten Zeit zzgl. 60 Sekunden * 60 Minuten = 1 Stunde * 36 Stunden = 36 Stunden (129600 Sekunden)

echo "Das letzte Update war am ".$last_update." und das nächste Update ist am ".$next_update." geplant.";
?>
Zur verdeutlichung habe ich mal das Datum mit angegeben.

Solltest Du die Zeit bereits formatiert gespeichert haben, kannst Du diese mit mktime() oder strtotime() in einen Timestamp umwandeln (und am besten als solchen auch gleich speichern).
Bei der 1. Funktion kannst Du so ziemlich jedes Datumsformat nutzen, wenn Du dieses (z.b. mit explode()) zerlegst und an den richtigen Positionen der Funktion einfügst.
Die 2. Funktion erwartet ein englisches Datumsformat.

Gruss Dr Dau
 
thanks, die Erklärungen in den ganzen Tuts und Manuals sind doch sehr kompliziert was date und time angeht - aber jetzt scheint bei mir alles zu laufen...

Im Anhang ist ein Screen, im unteren Drittel des Bildes seht ihr jetzt die drei Zeiten die ich (mit Hilfe dieses Threads) eingefügt habe - das ganze als Countdown kommt dann später :-D
 

Anhänge

  • 25112attachment.jpg
    25112attachment.jpg
    106,5 KB · Aufrufe: 10
Zuletzt bearbeitet:
jo, hatte bei dem Post eben vergessen, dass ich ja in "diesem" Forum bin gerade und alles Großschreiben muss (also nicht alles aber - acht du weißt schon).
Wie gesagt, Countdown kommt dann später - wo ich mir dein Script dann mal ansehen werde - erst mal brauch das Game noch ein paar andere Features *g*
 
Zurück