案例分享:系统时区和用户时区时间是错误的,怎么修改?原创
71人赞赏了该文章
438次浏览
未经作者许可,禁止转载编辑于2024年02月20日 13:49:13
问题描述
系统时区和用户时区时间是错误的,怎么修改?
客户数据中心里面,国际化设置界面显示如下图所示;
我的格式和时区设置界面,显示如下图所示;
导致客户那边做单据时,单据的日期比正常的北京时间晚了8个小时;
解决方法
1、进入数据库服务器,查看服务器的系统时区当前是正确的UTC+8 北京时区;
2、进入SQL数据库,执行如下语句;查询该数据中心的时区;
-- 查询当前时区设置
SELECT FPARAMETERS
FROM T_BAS_SYSPARAMETER
WHERE FPARAMETEROBJID = 'BD_GlobalizationSettings'
查询结果里面有异常内容,显示ID是166,协调世界时;如下图所示。
而正确的应该是utc+8 北京时区,ID应该是230;
PS:完整的查询结果见附件的rar文件。
3、根据上述查询结果,我们考虑要后台修改该数据中心的时区;
在这之前,我们对该数据中心做备份;
或者是执行下述语句对该表做备份;
SELECT *
INTO T_BAS_SYSPARAMETER_BAK20240219
FROM T_BAS_SYSPARAMETER
WHERE FPARAMETEROBJID = 'BD_GlobalizationSettings'
4、做好备份之后,执行如下语句,修改数据中心的时区;
-- 设置数据中心时区为北京时间(其他时区对应修改ID)
UPDATE T_BAS_SYSPARAMETER SET FPARAMETERS = '<BOS_InternationalSet><SysTimeZone_Id>230</SysTimeZone_Id><UserRegion_Id>5000</UserRegion_Id></BOS_InternationalSet>' WHERE FPARAMETEROBJID = 'BD_GlobalizationSettings'
执行修改语句之后,再次查询该数据中心的时区,查询结果如下图所示。
5、然后重新用administrator登录云星空,打开缓存管理,清理缓存;
重新再查看‘国际化设置’和‘我的格式和时区设置’这2个界面的系统时区和用户时区时间,都是显示正确了。
【补充说明】
1、本案例中是由于这个数据中心的系统时区错误,且前端无法修改,所以才需要后台执行语句去修改。
2、如果只是‘用户时区时间’错误的话,可以进入‘国际化设置’界面,通过修改‘客户端默认时区’进行调整;
以及在‘我的格式和时区设置’界面修改‘我的时区’字段的值即可。
R20240219-1915数据中心时区.rar(0.98KB)