在 SQL Server 中,我想创建一个表来保存事件的时间,并希望将其转换为用户选择的时区以供显示。假设,如果格林威治标准时间下午 1:00 在伦敦发生一件事,那么美国东部时间就是上午 8:00。
鉴于这个例子我想创建一个框架,
用户可以保存事件和时间(给出事件的时区)
阅读这些事件,时间显示在他喜欢的时区(美国东部时间)
我如何在 SQL Server 中完成此操作。
在 SQL Server 2008 中,使用日期时间偏移量数据类型是 DATETIME 加上时区偏移量。
SELECT CAST('2010-11-23 16:35:29+09:00' AS datetimeoffset)
将为 2010 年 11 月 23 日下午 4:35(格林尼治标准时间 +9 小时)。
SQL Server 2008还包含函数和SQL命令来转换DATETIMEOFFSET
从一个时区到另一个时区的值:
SELECT
SWITCHOFFSET(CAST('2010-11-23 16:35:29+09:00' AS datetimeoffset), '+01:00')
会导致:
2010-11-23 08:35:29.0000000 +01:00
相同时间,不同时区(比 GMT 晚 1 小时)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)