我在名为'createdDate'的表中有一个datetime列,默认值设置为getutcdate()。但是,当向表中添加行时,createdDate的时间值比系统时间晚1小时。所以我的问题是如何将当前数据库系统时间戳增加1小时?
提前致谢。
答案 0 :(得分:2)
听起来您的服务器知道夏令时(GMT,BST等),并且您的数据库坚决使用UTC。
如果您希望数据库中的日期与数据库服务器的时间相匹配,请使用GetDate()。
或者,取消选中服务器上“日期和时间”属性中的“自动调整夏令时更改时钟”框,然后继续使用GetUtcDate()。
答案 1 :(得分:0)
数据库服务器可能位于与UTC时间相差一小时的时区。分别查看GetDate()和GetUtcDate()的MSND条目。
答案 2 :(得分:0)
您应该始终确保您的服务器和您的数据库在时区和DST更改方面达成一致。
IMO你应该总是选择UTC,因为这可以防止由于不同的DST变化(例如去年在美国发生的事情)导致的任何细微错误。