Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带时区的SQL Server DateTime_Sql_Sql Server_Tsql - Fatal编程技术网

带时区的SQL Server DateTime

带时区的SQL Server DateTime,sql,sql-server,tsql,Sql,Sql Server,Tsql,我希望以以下格式显示日期时间,并关联时区: 7/19/2017 10:15:55 AM CST 是否可以在SQL Server中显示这一点 谢谢 试试这个查询 select CONVERT(VARCHAR,GETDATE(),1) + ' ' + RIGHT(CONVERT(VARCHAR,GETDATE(),9), 14) 如果要添加时区,请尝试以下操作: DECLARE @TimeZone VARCHAR(50) EXEC MASTER.dbo.xp_regread 'HKEY_LOC

我希望以以下格式显示日期时间,并关联时区:

7/19/2017 10:15:55 AM CST 
是否可以在SQL Server中显示这一点

谢谢

试试这个查询

select CONVERT(VARCHAR,GETDATE(),1) + ' ' + RIGHT(CONVERT(VARCHAR,GETDATE(),9), 14)
如果要添加时区,请尝试以下操作:

DECLARE @TimeZone VARCHAR(50)
EXEC MASTER.dbo.xp_regread 'HKEY_LOCAL_MACHINE',
'SYSTEM\CurrentControlSet\Control\TimeZoneInformation',
'TimeZoneKeyName',@TimeZone OUT


select CONVERT(VARCHAR,GETDATE(),1) + ' ' + RIGHT(CONVERT(VARCHAR,GETDATE(),9), 14) + ' ' + @TimeZone

根据您的问题,请尝试
datetimeoffset

定义一个日期,该日期与一天中具有时区感知且基于24小时时钟的时间相结合

结果示例:

CurrentTimeAndLocation
2017-07-20 09:03:48.7270 +00:00

此外,如果您想使用日期和时间数据类型和功能,请查看

将时区存储在单独的列中-通常是在记录创建或更新期间在数据库服务器上设置的时区。通过这种方式,您既可以在CST中显示时间,也可以在显示时转换为任何时区,以便最终用户为将来的读者,我使用
选择转换(VARCHAR,SYSDATETIMEOFFSET(),120)--YYYY-MM-DD HH:MM:ss±NN:NN
。时区是服务器时区。警告:这将显示服务器的时区,而在本例中,这很好-显示服务器上的当前日期时间。然而,如果要从数据中显示日期时间,则必须将此信息与日期时间列一起存储。@GustiArya someous dude。只是一个简单的问题——我不明白你的警告。我该如何在我的datetime专栏中存储这些信息?@RameshwarPawale这是Rafal Ziolwski的评论,我不知道该怎么做抱歉。我没看见。标记你的答案:)@RafalZiolkowski你能详细说明你的警告吗?偏移量和时区不同。由于DST,某些时区的偏移量可能会发生变化。OP要求使用时区缩写。
CurrentTimeAndLocation
2017-07-20 09:03:48.7270 +00:00