十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
SQLserver数据库的时区采用的是SQLServer服务器操作系统的时区,修改时区需要修改操作系统时区。
创新互联主要从事成都网站设计、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务科尔沁右翼中,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
SQLServer2008(sql2008)由微软公司推出的大型的关系型数据库系统软件,专门用于大批量的数据存储和管理,适合服务器数据管理。
通常在MSSQL中没有系统的函数使用,我们使用
SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())计算,这个很简单,所以系统没有提供
但是要留意时区概念。
时间戳没有时区概念,日期时间有-且和电脑时区关联。
我们使用东八区传入DATEDIFF第三个参数,得到的是一个时间戳,这个值被理解为UTC标准时间的时间戳。再次使用在线工具转换为东八区时间时,会+8小时。这是令人困惑人的地方。
日期-时间戳-日期,使用同一时区,日期时间不会改变(其他系统默认的函数很可能将时间戳转换为带时区的日期,即当前是东八区,就会自动变为东八区日期)
SQL里面有个DATEADD的函数。时间戳就是一个从1970-01-01 08:00:00到时间的相隔的秒数。
注解:北京时间与GMT时间关系
1、GMT是中央时区,北京在东8区,相差8个小时
2、所以北京时间 = GMT时间 + 八小时
例如:
SELECT DATEADD(S,1160701488 + 8 * 3600,'1970-01-01 00:00:00') --时间戳转换成普通时间
SELECT DATEDIFF(S,'1970-01-01 00:00:00', '2006-10-13 09:04:48.000') - 8 * 3600 --普通时间转换成时间戳
1、user_name,以及time是sqlserver中的关键字建议更名
2、最后的那个地方order by 要和IPADDRESS空出格
这样就能编译成功了。另外java可以连接好多数据库包括sqlserver,肯定支持datetime类型,试着从网上下载一些驱动包(.jar),用的时候导入,并在程序中import相应的类包。
以下链接你可以参考一下:java中的日期和sql中的日期转换