我正在将一些 datetimeoffset 列的时间从 UTC 转换为东部时间。我正在通过命令执行此操作
UPDATE MyTable SET MyColumn = MyColumn AT TIME ZONE 'Eastern Standard Time'
这似乎工作正常(时间提前 4 小时移动,现在有一个 -04:00 的偏移量,正是我想要的),但后来我意识到这不是 EST,它现在是 EDT。
SELECT * FROM sys.time_zone_info
给我一个时区列表,但没有“东部夏令时间”,只有“东部标准时间”。有一列“is_current_dst”似乎是正确的。但据我所知,谈论“东部标准时间”时区是否在 DST 没有任何意义。东部标准时间意味着它不是夏令时。“东部夏令时间”是指夏令时。对我来说,这似乎是获取动物列表,而不是列表中的“狗”和“猫”,只有“狗”,带有“isCat”标志!
我对为什么将时区称为“东部标准时间”感到困惑(以及为什么我上面的更新语句将时间转换为东部夏令时间(又名 UTC -04:00)。
时区的名称是否不正确,它应该只是类似于“东部时间”的标志,表明它当前是美国东部时间还是美国东部时间?
还是我完全糊涂了?