我有一个位于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时。
您认为这可能是最佳方式吗?
非常感谢!!
答案 0 :(得分:0)
我对你的问题感到有些困惑。您是否尝试在当地时间午夜而不是午夜时间发布这些记录?
你有没有看过这样的事情:
DATEADD(hh,DATEDIFF(hh,GETUTCDATE(),GETDATE()),dateScheduled)
DATEDIFF拉出当地时间远离UTC + 0时间的小时数,然后将该差异添加到日期列。如果您的时区练习DST,那么这非常有用,因此您不必更改硬编码的-8值。
如果这有帮助,请告诉我。如果没有,请澄清您尝试做的事情,并且我会查看它。