如何把数据库服务器里的时间进行本地化

非法字符啊 2010-10-29 02:43:00
现在又一个系统,数据库是SQL Server 2005,每次用户做交易的时候。
会在数据库中保存这条交易,并且保存下时间,保存时间方式是在插入
这条交易时,用数据库函数getdate()来保存时间。

问题是:
用户下次查看这条记录时,从服务器的数据库拿到的时间是数据库当地时间对吧!
如果这个用户和服务器有时差,如何根据用户的locale来显示用户本地化的时间。
(例如用户在2010年1月1日13:00做的交易,因为有时差关系,服务器记录的时间是
2010年1月1日18:00,下次用户查看的时候取出的是2010年1月1日18:00这个时间,如何
本地化呢)
...全文
91 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tang3dashu 2010-10-29
知道 时区就好办了 。在后台对应的加减就行了
回复
thatsinteresting 2010-10-29
你应该在保存数据的时候就用当地时间保存才对吧 让用户来选择时区
回复
wawqhzbz 2010-10-29
即使数据库它自身的newDate() 在拿出来 或者是存进去的时候···我们需要进行时区的比较和处理··
呵呵··
回复
wawqhzbz 2010-10-29
恩 我认为可以这么干··首先维护一张表 即使它里面只有一个字段 ,字段名称就是timeZone 存的是服务器本地的time
而当我们做新建操作的时候存时间··可以在Calendar 的那个类中拿到本地的timeZone 您在存数据库之前 ·可以将服务器的timeZone 与本地的TimeZone 比较 并且进行时间的换算,当然修改和现示也能这么去做,需要提供一个 changeTime的方法 就OK了 Calendar 或者是 TimeZone 类中 说不定有处理这一需求的办法
回复
xtbzqw 2010-10-29
java里面的时间函数有显示为本地时间的吧!
回复
woainiyibangcui 2010-10-29
可根据本地的时区与服务器所在的时区 做相应的加减~!
回复
lodachi 2010-10-29
显示的时候 特别说明是北京时间
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-29 02:43
社区公告
暂无公告