PHP: Kompliziertes Problem mit Datum

homer092

Lieutenant
Registriert
Aug. 2005
Beiträge
601
Hallo,

ich habe ein schwieriges Problem.

Bei der Umsetzung eines Online-Spiels hängen ich und noch ein paar derzeit an folgendem Problem:

Eine Stunde in Echtzeit soll einem Tag im Spiel entsprechen. Das ganze über den timestamp zu machen ist ja nicht möglich, da dieser nur bis 2032 geht. Daher brauchen wir einen Weg den Timestamp jetzigen Timestamp in ein Format umzuwandeln, mit dem das besagte Problem lösbar wird.

Ich hatte erst überlegt man sagt z.B. timestamp x = d.m.Y und addiert dann bei x+3600 einfach auf d.m.Y +1 aber das geht ja nicht.

Hat jemand ne bessere Idee wie man sowas umsetzen kann?

Würde mich über Tipps sehr freuen :=)

Vielen Dank !

Gruß

Nico
 
kenne mich mit php nicht wirklich aus, aber nimm doch einfach die serverzeit und rechne diese entsprechend um

Dazu brauchs dunoch zwei konsten
und zwar die uhr zeit vom server wenn das spiel gestartet wird: serverStart
und die welche zeit es im Spiel ist, wenn es startet: gameStart

dann kannst du die aktuelle ingamespielzeit so berechnen:
also
ingamezeit = (Serverzeit - Serverstartzeit) * umrechnugsfaktor (also je nachdem ob dus in stunden , minuten sekunden angibst) + gameStart

hoff das stimmt so, is ja schon spät :P
 
Ehm, ich denke mal das bei solchen Berechungen Jahr, Monat und Tag hinfällig sind, außer du willst neben ZEIT auch noch einen anderen Kalender verwenden. (Der dann mit Faktor 24x recht schnell an unserem vorbei zieht.

Sprich wo ist da ein Problem?
Wenn du weißt das 1h = 24h Ingame dann ist :
1min = 24 min ingame
1sec = 24 sec ingame

(0 Tage) 05:22:13 (5 Uhr früh) entspricht: (5 Tage ) 08:53:12

Und die Tage brauchst du nur wenn du (große) Differenzen oder Zeiträume messen willst.
Ansonsten bieten die Zeitfunktionen von PHP alles was du brauchst.

http://www.php.net/manual/de/function.mktime.php

Oder hab ich die Missverstanden?

Nox
 
Zurück
Oben