Handbuch:Zeitzone

This page is a translated version of the page Manual:Timezone and the translation is 68% complete.

Die Standardzeitzone (tz) für Benutzer die keine eigene Zeitzone festgelegt haben kann manuell eingestellt werden.

The default value is taken from the webserver configuration (PHP ini file). For documentation:

https://www.php.net/datetime.configuration#ini.date.timezone

Primärmethode

  • Erstelle eine Sicherungskopie der LocalSettings.php Datei die im Installationsverzeichnis gefunden werden kann.
  • Bearbeite die LocalSettings.php und füge folgenden Code hinzu:
#Standardzeitzone setzen
$wgLocaltimezone = "Asia/Jakarta";
date_default_timezone_set( $wgLocaltimezone );
  • Setze den $wgLocaltimezone Wert auf einen geeigneten Wert welchen man hier finden kann. Siehe Beispiele unten.
$wgLocaltimezone = "UTC";
$wgLocaltimezone = "Europe/London";
$wgLocaltimezone = "Asia/Taipei";
Diese Zeitzone wird genutzt in:
  • ~~~~ Signaturen
  • Zeitstempel in den letzten Änderungen
  • Zeitstempel in der Versionsgeschichte
Hinzufügen diese Codes zu der LocalSettings.php erzeugt einen Konflikt mit den RSS Feed Daten in Erweiterung:RSS . Siehe Diskussionsseite der Extension:RSS für mehr Informationen

Alternative Methode

Diese Methode wurde von mehreren Benutzern bestätigt in Situationen in der die Primärmethode nicht funktioniert hat.

$wgLocaltimezone = "America/Sao_Paulo";
$dtz = new DateTimeZone($wgLocaltimezone);
$dt = new DateTime('now', $dtz);
$wgLocalTZoffset = $dtz->getOffset($dt) / 60;
unset($dtz);
unset($dt);

Alternative Methoden

Wenn du einfach nur die Lokalzeit deines PCs verwenden willst kannst du diese Zeile zu deiner LocalSettings.php hinzufügen. Diese Methode ist das was MediaWiki standardmäßig tut ( siehe includes/Setup.php); Es verhindert außerdem Probleme mit der Sommerzeit:

$wgLocalTZoffset = date("Z") / 60;

Unbestätigte Methoden

  • Um deine lokale Zeitzone zu verwenden (Annahme NZDT) füge dies in die LocalSettings.php ein.
$wgLocalTZoffset = 13 * 60;

  • Dieses Beispiel funktioniert vielleicht auch
$wgLocaltimezone="Europe/Berlin";
$wgLocalTZoffset = +120;
  • In this case the primary method did not take daylight savings time into account. The example below works:
#Set Default Timezone
$wgLocaltimezone = "Europe/Amsterdam";

#Calculate the timezone offset with UTC
$oldtz = getenv("TZ");
putenv("TZ=$wgLocaltimezone");
$wgLocalTZoffset = date("Z") / 60 + date("I") * 60;
putenv("TZ=$oldtz");

  • To make it work in 1.5.8, specify the offset in hours, so change all occurrences of '/ 60' to '/ 3600', for example.
$wgLocaltimezone = "Europe/Amsterdam";
#Calculate the timezone offset with UTC
$oldtz = getenv("TZ");
putenv("TZ=$wgLocaltimezone");
$wgLocalTZoffset = date("Z") / 3600;
putenv("TZ=$oldtz");

Combine it with the tip above to make daylight savings work.

  • This line is needed in 1.16. It applies to both anonymous and logged in users.

Note that you will need to provide the correct values if you want the zone to be selected by default in the timezone dropdown:

$wgDefaultUserOptions['timecorrection'] = 'ZoneInfo|' . (date("I") ? 120 : 60) . '|Europe/Berlin';
The methods in this section are unconfirmed and may not work properly.

Manual timezone specification

The primary method needs the server to support the 'tz' database; some non-GNU hosts don't do that. Jedoch kannst du Zeitzonendaten manuell eingeben, leider scheint "GMT0" nur auf Windows zu funktionieren.

Benutze z.B.

$wgLocaltimezone = "CET-1CEST-2,M3.5.0/2,M10.5.0/2";
anstatt
$wgLocaltimezone = "Europe/Budapest";
oder
$wgLocaltimezone = "AEST-9,M10.5.0/3,M4.1.0/3";
anstatt
$wgLocaltimezone = "Australia/Sydney";

Für Details, siehe