1

我正在使用 SQL Server 2008 R2,我想知道如何将 CST 时间转换为 IST 时间。我的 dtDate 列中已经有 CST 时间,并且想将其转换为 IST 格式。有人可以帮我得到它。

4

2 回答 2

4

我假设您的意思是“中央标准时间”和“印度标准时间”,因为“CST”和“IST”可能意味着一些不同的东西。如果这是错误的,只需将您的时区的正确偏移量替换为如下所示:

select cast(switchoffset(todatetimeoffset(dtDate, '-06:00'), '+05:30') as datetime)

以下是步骤:

  • 我们的 datetime 转换为datetimeoffset,这是一种时区感知数据类型。
  • 将偏移量切换到新时区。
  • 投射到日期时间(可选,但这似乎是你想要的)。
于 2013-05-14T22:00:32.583 回答
0

我不认为这是一个完美的答案。我不知道你提到的时区,但这对我没有帮助。

我在英国,在一家美国公司工作,我在东部时区制作报告。我从中提取数据的系统将其所有日期都保存在 UTC 中。我运行报告的服务器托管在纽约,时间是美国东部时间。

我正在报告历史数据,需要将表格上的日期转换为 ET 日期。我一直在减去 GETDATE() 和 GETUTCDATE() 之间的差异,但我意识到我现在在这些日期之间得到了差异,今天。我正在转换的日期是历史日期,长话短说,一年中 8 个月的 ET 和 UTC 之间有 4 小时的差异,另外 4 个月有 5 小时的差异。

如果您要转换夏令时区域的日期,则需要更复杂的解决方案

于 2016-12-09T09:53:59.660 回答