首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么GetDate()返回明天的日期?

为什么GetDate()返回明天的日期?
EN

Stack Overflow用户
提问于 2017-10-09 01:09:25
回答 2查看 1.1K关注 0票数 0

如果我今天(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中。

EN

回答 2

Stack Overflow用户

发布于 2017-10-09 01:38:06

Try to look out base on given examples here

GetDate()函数不检查当前时区,它给您计算机时间。

尝试使用CURRENT_TIMESTAMP可能会帮助充分

最诚挚的问候..。

票数 0
EN

Stack Overflow用户

发布于 2017-10-09 01:55:04

试着使用

代码语言:javascript
复制
SELECT CURRENT_TIMESTAMP;

代码语言:javascript
复制
SELECT SYSDATETIME();

系统日期和时间。

另外,使用以下方法获取UTC和本地时间:

代码语言:javascript
复制
SELECT GETUTCDATE() As UTCDateTime

代码语言:javascript
复制
SELECT CONVERT( DATETIME, SWITCHOFFSET(CONVERT(DATETIMEOFFSET, GETUTCDATE()), DATENAME(TzOffset, SYSDATETIMEOFFSET()))) AS LocalDateTime
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46637586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档