SQL Server 的本地时间和UTC时间

Posted 郑兴鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server 的本地时间和UTC时间相关的知识,希望对你有一定的参考价值。

一,本地时间和UTC时间

本地时间

世界的每个地区都有自己的本地时间,整个地球分为二十四时区,每个时区都有自己的本地时间。

UTC时间

在国际无线电通信中,为统一而普遍使用一个标准时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC时间和英国伦敦的本地时间相同。

UTC时间在世界各地都是相同的,但是不同的时区,本地时间各不相同。根据UTC时间和所在的时区,能够计算出本地时间。

二,获取本地时间和UTC时间

在Sql Sever中,GetDate()返回的是本地时间,GetUTCDate()返回的是UTC时间,返回的数据类型是DateTime;SysDateTime() 返回的是本地时间,SysUTCDateTime() 返回的是UTC时间,返回的数据类型是DateTime2(7)。

在不同的时区,UTC时间相同,但是本地时间不同。本地时间是Server上显示的系统时间,在OS中变更时区(time zone),能够修改本地时间和GetDate()的返回值。本地时间是根据UTC时间和OS设置的时区推导出来的。

结论:GetDate() 和SysDateTime() 返回的是本地Server的Date和Time,这个值跟Sql Server实例所在的PC的OS有关,跟OS显示的时间是相同的。 

三,Sql Agent 执行Job的时间

在Sql Server Agent中使用的时间是本地时间,Job的执行时间是本地时间。

以上是关于SQL Server 的本地时间和UTC时间的主要内容,如果未能解决你的问题,请参考以下文章

TSQL:如何将本地时间转换为 UTC? (SQL Server 2008)

在 Windows XP/Server 2003 下将新旧本地时间转换为 UTC

如何从 tsql (sql 2005) 中的 utc 日期时间计算本地日期时间?

sql SQL:将UTC时间转换为本地时间

通过jsp执行时SQL语句不给出本地时间

如何将UTC时间转化为本地时间