开始使用免费开始使用

转换为带偏移的日期时间

除了 SWITCHOFFSET(),我们还可以使用 TODATETIMEOFFSET() 将现有日期转换为带时区偏移的日期类型。若起始时间是 UTC,需要先按时区进行校正,然后再追加偏移量。要校正时区,可以手动加减小时(和分钟)。

2016 年里约热内卢夏季奥运会的闭幕式于 2016 年 8 月 21 日 UTC 时间晚上 11 点开始。以包含该日期和时间的字符串为起点,我们可以查看其他地区对应的时间。对于亚利桑那州菲尼克斯,您知道他们全年采用山地标准时间(Mountain Standard Time),即 UTC -7。图瓦卢群岛采用自己的时间,比 UTC 早 12 小时。

本练习是课程的一部分

SQL Server 中的时间序列分析

查看课程

练习说明

  • 填写亚利桑那州菲尼克斯的时间。其使用山地标准时间,对应 UTC -07:00。
  • 填写图瓦卢的时间,其比 UTC 早 12 小时。

交互式实操练习

通过完成这段示例代码来试试这个练习。

DECLARE
	@OlympicsClosingUTC DATETIME2(0) = '2016-08-21 23:00:00';

SELECT
	-- Fill in 7 hours back and a '-07:00' offset
	___(DATEADD(HOUR, -___, @OlympicsClosingUTC), '___') AS PhoenixTime,
	-- Fill in 12 hours forward and a '+12:00' offset.
	___(DATEADD(HOUR, ___, @OlympicsClosingUTC), '___') AS TuvaluTime;
编辑并运行代码