如果我今天(2017年10月9日)针对Server 2008实例执行select GetDate(),该函数将返回10/10/2017,即明天的日期。但是,select convert(date, getDate())将返回9/10/2017。我不明白为什么。
可能是相关的: Microsoft文档说
将当前数据库系统时间戳返回为不带数据库时区偏移量的日期时间值。此值来自正在运行Server实例的计算机的操作系统。
without the database time zone offset到底是什么意思?我的Server目前在GMT+11中。
发布于 2017-10-09 01:38:06
Try to look out base on given examples here
GetDate()函数不检查当前时区,它给您计算机时间。
尝试使用CURRENT_TIMESTAMP可能会帮助充分
最诚挚的问候..。
发布于 2017-10-09 01:55:04
试着使用
SELECT CURRENT_TIMESTAMP;或
SELECT SYSDATETIME();系统日期和时间。
另外,使用以下方法获取UTC和本地时间:
SELECT GETUTCDATE() As UTCDateTime和
SELECT CONVERT( DATETIME, SWITCHOFFSET(CONVERT(DATETIMEOFFSET, GETUTCDATE()), DATENAME(TzOffset, SYSDATETIMEOFFSET()))) AS LocalDateTimehttps://stackoverflow.com/questions/46637586
复制相似问题