Руководство:Часовой пояс
Часовой пояс (tz) по умолчанию для пользователей, которые не изменили свой часовой пояс в настройках в ручную.
Default value
The default value is taken from the webserver configuration (PHP ini file). For documentation:
https://www.php.net/datetime.configuration#ini.date.timezone
Основной метод
Создайте резервную копию файла $LocalSettings, который можно найти в корне директории установки.
Отредактируйте LocalSettings.php, добавив в него следующий код:
#Выберите часовой пояс по умолчанию
$wgLocaltimezone = "Asia/Jakarta";
date_default_timezone_set( $wgLocaltimezone );
- Set the $wgLocaltimezone value to the proper value which you can find here.
См. примеры ниже.
$wgLocaltimezone = "UTC";
$wgLocaltimezone = "Europe/London";
$wgLocaltimezone = "Asia/Taipei";
- подписях ~~~~
- метках времени в свежих правках
- метках времени в истории
LocalSettings.php
conflicts with the RSS Feed dates in Расширение:RRS . See the Discussion page of Extension:RSS for more information
Альтернативный метод
Этот метод подтвердили несколько пользователей, в ситуации, когда основной метод не работал.
$wgLocaltimezone = "America/Sao_Paulo";
$dtz = new DateTimeZone($wgLocaltimezone);
$dt = new DateTime('now', $dtz);
$wgLocalTZoffset = $dtz->getOffset($dt) / 60;
unset($dtz);
unset($dt);
Альтернативный метод
Если вы просто хотите использовать локальное время вашего ПК, добавьте эту строку в LocalSettings.php. Этот метод используется в MediaWiki по умолчанию (см. Includes / Setup.php); также позволяет избежать проблем с переходом на летнее время:
$wgLocalTZoffset = date("Z") / 60;
Неподтвержденные методы
Чтобы использовать ваш часовой пояс (скажем, NZDT), вставьте этот код в LocalSettings.php
$wgLocalTZoffset = 13 * 60;
- Этот пример может также работать
$wgLocaltimezone="Europe/Berlin";
$wgLocalTZoffset = +120;
- In this case the primary method did not take daylight savings time into account. The example below works:
#Выберите часовой пояс по умолчанию
$wgLocaltimezone = "Europe/Amsterdam";
#Указать смещение часового пояса от 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";
#Указать смещение часового пояса от 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 primary method needs the server to support the 'tz
' database; some non-GNU hosts don't do that.
However you can supply timezone data manually - unfortunately, only "GMT0" seems to work on Windows.
E.g. use
$wgLocaltimezone = "CET-1CEST-2,M3.5.0/2,M10.5.0/2";
- вместо
$wgLocaltimezone = "Europe/Budapest";
- или
$wgLocaltimezone = "AEST-9,M10.5.0/3,M4.1.0/3";
- вместо
$wgLocaltimezone = "Australia/Sydney";
Подробнее см.
- System configuration: Time Zones (список часовых поясов)
- Specifying the Time Zone with TZ (общий формат)
- timezones.conf.xml (другой список часовых поясов)