wangsisi 发表于 2010-12-25 16:27:50

Mediawiki的时区设置

mediawiki默认使用服务器的时区设置,所以用户签名、最近更新、网页更新等时间信息经常会出现“(UTC)”(国际平均时间),这与本地时间不同,带来了一定的不便。


MediaWiki 1.9版本的修改

以北京时间为例,请在LocalSettings.php倒数第三行加入以下代码:

$wgLocaltimezone = "Asia/Shanghai";
putenv("TZ=$wgLocaltimezone");
$wgLocalTZoffset = date("Z") / 60;没有必要这么麻烦吧,加下面两行就好,修改默认用户的设置就好,同理,可以修改游客的很多配置。

$wgDefaultUserOptions = array(
    'date'=> 'ISO 8601',
    'timecorrection'=>'08:00'
);mediawiki 1.8版本的修改
以下我在1.90测试不能成功--218.17.120.86 11:44 2007年4月3日 (CST)

以北京时间为例,应在LocalSettings.php中增加下述代码:

$wgLocaltimezone = "Asia/Shanghai";
$oldtz = getenv("TZ");
putenv("TZ=$wgLocaltimezone");
$wgLocalTZoffset = date("Z") / 60;
putenv("TZ=$oldtz");第一行$wgLocaltimezone = "Asia/Shanghai"将用户签名时区设为上海时间(与北京时间相同。实际上没有Asia/Beijing的用法^_^)。当用户修改文章并以--穆夜影 17:08 2008年5月21日 (CST)签名时,最终会显示“13:57 XX年XX月XX日 (CST)”的字样。CST即中国标准时间Chinese Standard Time的缩写。

该行仅仅影响用户签名时间,包括匿名用户和未指定参数的登录用户。

接下来的代码,是对最近更新、文章修改时间等更多的时间显示项目进行调整(签名时间除外,见前文描述),使其他时间显示与前面的时区设定相对应。

注:当用户在自己的个人参数中设置了时区时,将以个人设定取代上述设置而发挥作用。

mediawiki 1.4-1.7版本的修改
以北京时间为例,应在LocalSettings.php中增加下述代码:

$wgLocaltimezone = "Asia/Shanghai";
$oldtz = getenv("TZ");
putenv("TZ=$wgLocaltimezone");
$wgLocalTZoffset = date("Z") / 3600;
putenv("TZ=$oldtz");说明:本段代码的介绍与前段类似,仅仅是倒数第二行的除数为3600而非60。请参见前段的介绍。
页: [1]
查看完整版本: Mediawiki的时区设置

美国主机评测网站