Sommerzeit mit phpMyAdmin

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
LuLa
Mitglied
Beiträge: 290
Registriert: 14.02.2004 12:26

Beitrag von LuLa »

Dennis Böge hat geschrieben:Evtl geht die Server-Uhr ja auch nochmal eine Stunde falsch...
Hui, das könnte sein. Gibt es in den USA überhaupt eine Sommerzeit?
Falls nein, dann müßte ja bei uns jeder Board-User sein Profil ändern... :o Puh!!

Code: Alles auswählen

zeit.php: 12:18
Meine PC-Zeit: 19:19

LG
LuLa
Benutzeravatar
Sujao
Mitglied
Beiträge: 296
Registriert: 25.12.2003 03:56
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Sujao »

Soweit ich weiß gibt es in den USA keine Sommerzeit.
There are no passangers on Spaceship Earth, we are all the crew !
sAnSiBaR
Mitglied
Beiträge: 28
Registriert: 15.03.2004 16:23

Beitrag von sAnSiBaR »

hi,

hab ein phpbb2.0.6 am laufen, und dort wird meines wissens nach (steht ja auch hier im thread) die zeit automatisch umgestellt.

schön und gut !

dabei wurden aber alle beiträge vor der umstellung auch automatisch +1h gesetzt.

welche änderungen muss ich unternehmen, damit die alten beiträge wieder ihre richtige uhrzeit bekommen ? (und die neuen natürlich ihre zeit behalten ?)

thx,

sansibar
Benutzeravatar
roger
Mitglied
Beiträge: 565
Registriert: 30.10.2002 21:32
Wohnort: Bavaria D.C.

Beitrag von roger »

Also normalerweise wird im Original-phpBB die Zeit nicht automatisch umgestellt, - dazu muss eine Änderung im Quelltext vorgenommen werden... Die amerikanischen Provider stellen genausowenig um wie die europäischen... Es wird über "I" in php ein Indikator für die Sommerzeit geliefert...

Du solltest im übrigen hier nachschauen...


roger
sAnSiBaR
Mitglied
Beiträge: 28
Registriert: 15.03.2004 16:23

Beitrag von sAnSiBaR »

Hinweis: Die eingedeutschte Version von http://www.phpbb.de/download.php enthält den verbesserten Code bereits.
demnach ist meine version damit ausgestattet ?!

oder doch nicht ?
Benutzeravatar
roger
Mitglied
Beiträge: 565
Registriert: 30.10.2002 21:32
Wohnort: Bavaria D.C.

Beitrag von roger »

Wenn Du als Board-Zeit z.B. "GMT+1" eingestellt hast, sollte es mit der derzeit in Deutschland geltenden Uhrzeit übereinstimmen, :wink:
wenn nicht, dann wohl noch nicht...

roger
Benutzeravatar
Sujao
Mitglied
Beiträge: 296
Registriert: 25.12.2003 03:56
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Sujao »

@sansibar: ich hatte mir damals auch 2.0.6 runtergeladen und ich hatte den Code NICHT drin. Ich zwar nicht mehr ob es "c" oder "d" war, aber es war so Ende Dezember.

Die Tatsache, dass auch bei allen alten Beiträgen eine Stunde addiert wird ist zwar nicht wirklich schlimm, aber doch irgendwie unschön. Eigentlich müsste ja nicht bei der Anzeige eine Stunde adiert werden sondern bei der Speicherung des Erstelldatums.
There are no passangers on Spaceship Earth, we are all the crew !
Uruwa
Mitglied
Beiträge: 2
Registriert: 31.03.2004 13:09

Beitrag von Uruwa »

Das Problem ist, dass die Codekorrektur selbst noch einen kleinen Fehler enthält. Dort wird wenn eine Stunde addiert, wenn das Systemdatum in die Sommerzeit fällt und nicht wie gewollt das zu formatierende Datum.

Die Zeile muss daher so aussehen:

Code: Alles auswählen

return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * ($tz+date("I", $gmepoch)))), $translate) : @gmdate($format, $gmepoch + (3600 * ($tz+date("I", $gmepoch))));
Benutzeravatar
Sujao
Mitglied
Beiträge: 296
Registriert: 25.12.2003 03:56
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Sujao »

@uruwa: ich hab ehrlich gesagt nicht so genau verstanden was du meinst. Kannst du das bitte noch ein Mal anders erklären?
There are no passangers on Spaceship Earth, we are all the crew !
Uruwa
Mitglied
Beiträge: 2
Registriert: 31.03.2004 13:09

Beitrag von Uruwa »

O.K. ich mach das mal etwas ausführlicher. Alle Datums-/Zeitwerte werden in der Datenbank grundsätzlich als GMT+0 abgespeichert und bei der Ausgabe formatiert. Die genannte Codezeile gehört zur Funktion create_date, die diese Formatierung vornimmt.

Der Header der Funktion sieht wie folgt aus:

Code: Alles auswählen

function create_date($format, $gmepoch, $tz)
Die Paramter sind:
1. der Formatierungsstring, den Du im Adminbereich für das Board vorgibst, bzw. im Benutzerprofil eingestellt werden kann,
2. die auszugebende Zeit in GMT+0,
3. die Zeitzone.

Ich stelle jetzt mal die weiter oben genannte Anpassung für Sommerzeit meiner geänderten Codezeile gegenüber:

Code: Alles auswählen

return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * ($tz+date("I")))), $translate) : @gmdate($format, $gmepoch + (3600 * ($tz+date("I"))));

Code: Alles auswählen

return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * ($tz+date("I", $gmepoch)))), $translate) : @gmdate($format, $gmepoch + (3600 * ($tz+date("I", $gmepoch))));
Der Unterschied liegt hier:

Code: Alles auswählen

date("I", $gmepoch)
statt

Code: Alles auswählen

date("I")
Wir die PHP Funktion date ohne Datums-/Zeitwert aufgerufen, so wird die aktuelle Systemzeit des Servers verwendet. Die Folge: wenn die aktuelle Serverzeit in die Sommerzeit fällt werden alle Datums-/Zeitwerte um 1 Stunde verschoben. Daher muss natürlich die zu formatierdende Zeit als Datums-/Zeitwert an die date-Funktion übergeben werden, denn die soll ja wenn sie in die Sommerzeit fällt um 1 Stunde erhöht werden.

Ich hoffe, ich hab das jetzt einigermaßen verständlich erklärt...
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“