sql - 获取特定时区的特定日期
问题描述
我正在尝试从格林威治标准时间的数据库中获取给定日期。所以我需要不断地解释差异。
DECLARE @date datetime
DECLARE @tempdate datetime = '3/1/2019'
SET @date = @tempdate AT TIME ZONE 'UTC' AT TIME ZONE 'Central Standard
Time'
SELECT @date
上面的代码在 3 月 1 日之前几个小时生成一个日期(因为我在美国)。是否有一种通用的方法可以始终在任何所需日期获取中央时间?
解决方案
如果您尝试将 UTC 时间转换为美国中部时间,那么收到早于 UTC 时间的中部时间确实是正常的。太阳首先在格林威治升起,然后在芝加哥升起,所以三月首先在 UTC 区域开始,比芝加哥早几个小时。其他月份也一样!:)
推荐阅读
- python - 如何在 django admin 主模板上添加按钮?
- apache-spark - 当 Spark 发现一个动作时,会运行每一行代码,直到该动作或仅与该动作相关的转换?
- dompdf - dompdf 文档和示例到哪里去了?
- c# - 将 listView 表导出到 Excel
- python - 如何在以下代码中修复 Python 中的“int object is not subscriptable”?
- postgresql - 选择组内具有第二高值的行
- android - 如何从 Kotlin 的 Firebase 存储实例更改 maxUploadRetryTimeMillis?
- sql - Tableau 中的自定义 SQL,CASE 创建的字段
- python - 从 arduino 到搅拌机的串行信号
- python - CPython - 打印回溯