Manual:Zona horaria

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Manual:Timezone and the translation is 100% complete.

Other languages:
Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎français • ‎日本語 • ‎română • ‎中文

La zona horaria (timezone en inglés, o TZ) para usuarios que no han especificado una puede configurarse manualmente.

Método principal[edit]

#Definir zona horaria por defecto
$wgLocaltimezone = "Asia/Jakarta";
date_default_timezone_set( $wgLocaltimezone );
$wgLocaltimezone = "UTC";
$wgLocaltimezone = "Europe/London";
$wgLocaltimezone = "Asia/Taipei";

Nota Nota: Esta información de zona horaria se usará en:

  • ~~~~ firmas
  • fechado de listas de cambios recientes
  • fechado de cambios en historiales

Nota Nota: Añadir este código a LocalSettings.php entra en conflicto con el fechado de las noticias que genera Extension:RSSExtension:RSS. Mira la página de discusión de la extensión para más información.

Método alternativo[edit]

Varios usuarios han confirmado que este método funciona en situaciones en las que el método principal falla.

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

Métodos alternativos[edit]

Si sólo quieres usar la hora local de tu PC, puedes añadir esta línea a tu LocalSettings.php. Este método es lo que hace MediaWiki por defecto (mira includes/Setup.php); también evita problemas con los cambios de hora:

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

Métodos no confirmados[edit]

  • Para usar tu zona horaria local (por ejemplo, NZDT), pon esto en tu LocalSettings.php
$wgLocalTZoffset = 13 * 60;

  • Este ejemplo también puede funcionar
$wgLocaltimezone="Europe/Berlin";
$wgLocalTZoffset = +120;
  • En este caso el método principal no tenía en cuenta los cambios de hora. El siguiente ejemplo funciona:
#Definir zona horaria por defecto
$wgLocaltimezone = "Europe/Amsterdam";

#Calcular la diferencia horaria respecto al UTC
$oldtz = getenv("TZ");
putenv("TZ=$wgLocaltimezone");
$wgLocalTZoffset = date("Z") / 60 + date("I") * 60;
putenv("TZ=$oldtz");

  • Para hacer que funcione con la versión 1.5.8, tienes que indicar la diferencia en horas, así que tienes que cambiar todos los '/ 60' por '/ 3600', por ejemplo.
$wgLocaltimezone = "Europe/Amsterdam";
#Calcular la diferencia horaria respecto al UTC
$oldtz = getenv("TZ");
putenv("TZ=$wgLocaltimezone");
$wgLocalTZoffset = date("Z") / 3600;
putenv("TZ=$oldtz");

Combínalo con el truco de arriba para hacer que los cambios de hora se tengan en cuenta.

  • Esta línea es necesaria en MW 1.16. Se aplica tanto a los usuarios anónimos como a los identificados. Ten en cuenta que necesitarás aportar los valores correctos si quieres que la zona se elija por defecto en el selector instantáneo de zona horaria:
$wgDefaultUserOptions['timecorrection'] = 'ZoneInfo|' . (date("I") ? 120 : 60) . '|Europe/Berlin';

Nota Nota: El funcionamiento de los métodos mostrados en esta sección no está comprobado y podrían no funcionar correctamente.

Indicación manual de la zona horaria[edit]

El método principal requiere que el servidor soporte la base de datos 'tz'; algunos servidores no-GNU no la soportan. Sin embargo, puedes indicar manualmente la información sobre la zona horaria. Por desgracia, parece que en Windows sólo funciona "GMT0".

Por ejemplo, usa

$wgLocaltimezone = "CET-1CEST-2,M3.5.0/2,M10.5.0/2";
en lugar de
$wgLocaltimezone = "Europe/Budapest";
o bien
$wgLocaltimezone = "AEST-9,M10.5.0/3,M4.1.0/3";
en lugar de
$wgLocaltimezone = "Australia/Sydney";

Para más información, mira