Sql Server迁移,其他日期时间

时间:2014-01-14 17:28:38

标签: sql datetime sql-server-2008-r2 utc getdate

我有一个位于UTC + 1(SQL SERVER)的网站。

我已经迁移了网站,现在我已经使用了UTC - 8(SQL SERVER)。

所以我有9个小时的差异。

我在一天开始时自动发布帖子。

因此,我通常每天发布一篇文章,其格式为UTC + 1,但现在9小时后发布...

我的所有选择条款都以:

结尾
select id, title, content 
from articles 
**where dateScheduled <= getdate()**

如果我想在1月25日发布帖子,我需要等到1月25日UTC-8,但我希望在9小时之前发布==&gt;当它是1月25日的UTC + 1时。

您认为这可能是最佳方式吗?

非常感谢!!

1 个答案:

答案 0 :(得分:0)

我对你的问题感到有些困惑。您是否尝试在当地时间午夜而不是午夜时间发布这些记录?

你有没有看过这样的事情:

DATEADD(hh,DATEDIFF(hh,GETUTCDATE(),GETDATE()),dateScheduled)

DATEDIFF拉出当地时间远离UTC + 0时间的小时数,然后将该差异添加到日期列。如果您的时区练习DST,那么这非常有用,因此您不必更改硬编码的-8值。

如果这有帮助,请告诉我。如果没有,请澄清您尝试做的事情,并且我会查看它。