【发布时间】:2013-01-23 11:13:49
【问题描述】:
我正在使用 SQL Server 2008 R2,我想知道如何将 CST 时间转换为 IST 时间。我的 dtDate 列中已经有 CST 时间,并且想将其转换为 IST 格式。有人可以帮我弄一下吗?
【问题讨论】:
标签: sql sql-server-2008 sql-server-2008-r2 timezone
我正在使用 SQL Server 2008 R2,我想知道如何将 CST 时间转换为 IST 时间。我的 dtDate 列中已经有 CST 时间,并且想将其转换为 IST 格式。有人可以帮我弄一下吗?
【问题讨论】:
标签: sql sql-server-2008 sql-server-2008-r2 timezone
我假设您的意思是“中部标准时间”和“印度标准时间”,因为“CST”和“IST”可能意味着一些不同的东西。如果这是错误的,只需将您的时区的正确偏移量替换为如下所示:
select cast(switchoffset(todatetimeoffset(dtDate, '-06:00'), '+05:30') as datetime)
步骤如下:
【讨论】:
我认为这不是一个完美的答案。我不知道你提到的时区,但这对我没有帮助。
我在英国的一家美国公司工作,我在东部时区制作报告。我从中提取数据的系统将其所有日期都保存在 UTC 中。我运行报告的服务器托管在纽约,时间是美国东部时间。
我正在报告历史数据,需要将表格上的日期转换为 ET 日期。我一直在减去 GETDATE() 和 GETUTCDATE() 之间的差异,但我意识到我现在在这些日期之间得到了差异,今天。我要转换的日期是历史日期,长话短说,一年中 8 个月的 ET 和 UTC 之间有 4 小时的差异,另外 4 个月有 5 小时的差异。
如果您要转换夏令时区域的日期,您需要更复杂的解决方案
【讨论】: