Seite 2 von 2

Verfasst: 30.05.2003 10:16
von Chaze
Anonymous hat geschrieben:Vielen Dank für keine Hilfe...
Brauchst ja nicht gleich stinkig zu werden :-?

Du speicherst nur den aktuellen Timestamp für den Post. Im Profil des Users ist dann die Zeitzone in Form von -12 bis +12 gespeichert.

Schreibt ein deutscher User in der Sommerzeit ein Posting dann ist die Zeit der Erstellung:
GMT aus Profil = +2
Zeit des Posts = Timstamp + (2 * 3600)

Schreibt ein deutscher User in der Winterzeit ein Posting dann ist die Zeit der Erstellung:
GMT aus Profil = +1
Zeit des Posts = Timstamp + (1 * 3600)

Verfasst: 30.05.2003 20:29
von Gast
Ok, langsam wird's ;)

1. Welche Funktion ist die für die aktuelle GMT?
2. Woher weiß mein PHP-Script in welcher Zeitzone sicher der User befindet, d.h. welche Funktion brache ich dafür?
3. Woher weiß mein PHP-Script in welcher Zeitperiode sicher der User befindet (kausal), wenn er das Posting sendet (Winter-/Sommerzeit), d.h. welche Funktion brauche ich dafür?

Verfasst: 31.05.2003 08:26
von Chaze
Die Zeitzone hat nix mit einer Funktion zu tun. Der User muß einmal angeben welche GMT für ihn gilt. Das Posting wird immer in aktueller Serverzeit abgespeichert. Alles andere wird berechnet.

Verfasst: 31.05.2003 12:39
von Gast
Welche GMT ist Käse, weil GMT heißt Greenwich-...irgendwas...-Time. Gibt es keine Funktion die das ganze immer in GMT speichert, statt in der Zeit des Servers? Der Server könnte ja sonstwo stehen.

Verfasst: 31.05.2003 12:53
von Chaze
Der Server hat GMT (0). Da der Timestamp = Anzahl der Sekunden seit 01.01.1970.
Du brauchst auf jeden Fall eine Referenzzeit! Und das ist die des Servers...

Verfasst: 04.06.2003 22:09
von Gast
[quote=Chaze]Der Server hat GMT (0). Da der Timestamp = Anzahl der Sekunden seit 01.01.1970.
Du brauchst auf jeden Fall eine Referenzzeit! Und das ist die des Servers...[/quote]
Das muß man jetzt nicht verstanden haben, oder? Erklär' mir mal den 2. Satz (der keine ist).

Verfasst: 05.06.2003 07:38
von Chaze
Ist ganz einfach.
Der Timestamp macht nichts anderes als seit dem 01.01.1970 die Sekunden zu zählen.
Unabhängig von irgendwelchen Zeitzonen.

Verfasst: 06.06.2003 08:55
von Gast
Erzähl' mir doch mal was, was ich nicht weiß. Und ganz unabhängig von den Zeitzonen stimmt auch nicht, denn dieser Timestamp bezieht sich auch auf eine Zeitzone, nur immer dieselbe.

Verfasst: 06.06.2003 11:03
von Pyramide
Du musst eben die beiden Zeiten miteinander verrechnen (so wie das beim phpBB auch gemacht wird). Beispiele:
Server=GMT+1, User=GMT+1 -> User Zeit = Server Zeit
Server=GMT+1, User=GMT+2 -> User Zeit = Server Zeit + 3600s
Server=GMT+2, User=GMT -> User Zeit = Server Zeit - 7200s

Beim phpBB funktioniert das nur deshalb nicht korrekt, weil die Sommerzeit nicht erkannt wird. Das kannst du z.B. so lösen daß du eine Option einmal für den Server und für jeden User hast, ob Sommerzeit verwendet wird. Dann ziehst du die Sommerzeit beim speichern immer ab: id(sommerzeit_option && sommer_monate) timestamp -= 3600 und beim anzeigen umgekehrt.