LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: 北南南北

LinuxSir 论坛BUG提交处

[复制链接]
发表于 2003-10-19 15:13:12 | 显示全部楼层

时区又不对了

“全部时间均为格林威治时间”,但实际上和北京时间一致。以后是不是打算就这么一直下去了?
发表于 2003-10-19 16:26:42 | 显示全部楼层
页面顶上“退出论坛 |”后的空白请改为使用&nbsp,不然在mozilla里没办法对齐

呵呵,windrose说的是老大难问题了,害我现在只能住在"叶卡捷琳堡",晕
 楼主| 发表于 2003-10-19 17:05:53 | 显示全部楼层
carlos兄所说的问题,是解决了。
windrose兄所说的问题,应该在 [资料设置]=》 [编辑论坛选项]中来设置,设置成北京的就行了。就能出现北京时间
 楼主| 发表于 2003-10-19 17:23:24 | 显示全部楼层
搜索好象出问题了

Fatal error: Maximum execution time of 30 seconds exceeded in /opt/apache/htdocs/bbs/search.php on line 409



多谢兄弟,咱们再来观察一下,有时会出现这样的问题。在想办法。
发表于 2003-10-19 17:27:34 | 显示全部楼层
最初由 北南南北 发表
carlos兄所说的问题,是解决了。
windrose兄所说的问题,应该在 [资料设置]=》 [编辑论坛选项]中来设置,设置成北京的就行了。就能出现北京时间


问题在于,如果选北京时间,时间显示就不对了。
发表于 2003-10-19 17:29:50 | 显示全部楼层
现在是北京时间17:31,但是论坛的北京时间是:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2003-10-19 17:34:52 | 显示全部楼层
最初由 windrose 发表
现在是北京时间17:31,但是论坛的北京时间是:


好了。我把后台设置成阿拉斯的了,这样就对齐了,如果在后台设置与北京的,用户也设置成北京的,时间就不对了。真有点怪。洋人的东西真是搞不懂。
发表于 2003-10-19 19:45:38 | 显示全部楼层
到cnvbb找到这么一个帖子

时区显示的HACK

不必做太多地修改,更不用修改数据库,这次真的可以完美地解决时区问题啦!其实也很简单,以前为什么就想不到呢?昨晚灵机一动,花了十分钟搞定(连测试),写这篇 HACK 报告却花了将近 20 分钟。

现在可以任意定义默认的显示时区,不必再是那个莫名其妙的“GMT + xxx hours”啦!甚至对未注册/未登录的用户显示的时间也是自己定义的时区,例如“北京时间”,所有时间显示一切正常,对于已登录用户当然还是根据用户本身的选择的时区来显示。

事实上更专业的做法应该是在数据库中加两个字段,一个记录“显示时区名称”,一个记录“显示时区相对 GMT 的时差”,然后在控制面板加上对这两个参数的控制。虽然不难,不过还是留给 vB 开发组自己来搞吧,对于我们这些 vB Hack 业余选手来说,直接在程序里改也很方便。

1、查找:vb2/globe.php 中的一段代码:

如果是 203 找这一段:

$timediff='';
if ($bbuserinfo['timezoneoffset']!=0) {
if (abs($bbuserinfo['timezoneoffset'])==1) {
$timediff=" $bbuserinfo[timezoneoffset] hour";
} else {
$timediff=" $bbuserinfo[timezoneoffset] hours";
}
}


如果是以前版本找这一段:

$timediff='';
if ($bbuserinfo['timezoneoffset']!=0) {
$timediff=" $bbuserinfo[timezoneoffset] hours";
}


替换为:

// Beijing Time Hack by CX
$timediff = '';
if ($bbuserid > 0) {
if ($bbuserinfo['timezoneoffset'] != 0) {
if ($bbuserinfo['timezoneoffset'] == + {
$timediff = '北京时间';
} else {
$timediff = "格林威治时间 $bbuserinfo[timezoneoffset] 小时";
}
} else {
$timediff = '格林威治时间';
}
} else {
$timediff = '北京时间';
}
// End of Beijing Time Hack by CX


2、查找 admin/fuctions.php:

// ###################### Start show_nopermission #######################
function vbdate($format,$timestamp) {
global $bbuserinfo,$timeoffset;

return date($format,$timestamp+($bbuserinfo['timezoneoffset']-$timeoffset)*3600);

}


替换为:

// ###################### Start show_nopermission #######################
// Beijing Time Hack by CX
function vbdate($format,$timestamp) {
global $bbuserinfo,$timeoffset,$bbuserid;

if ($bbuserid>0) {
return date($format,$timestamp+($bbuserinfo['timezoneoffset']-$timeoffset)*3600);
} else {
return date($format,$timestamp+(8-$timeoffset)*3600);
}

}
// End of Beijing Time Hack by CX


3、修改模板 timezone

All times are GMT$timediff. The time now is $timenow.


改为:

所有时间均为 $timediff 现在时间 $timenow


http://bbs.cnvbb.com/showthread.php?s=&threadid=3498
发表于 2003-10-19 20:21:29 | 显示全部楼层
论坛要是能再增加一个时区GMT+13就好了
发表于 2003-10-20 09:10:17 | 显示全部楼层
最初由 carlos 发表
论坛要是能再增加一个时区GMT+13就好了


怎么是GMT+13?不是GMT-11吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表