timezone - 无论我的时区偏移量取决于一年中的时间,convert_timezone 'America/New_York' 都可以工作吗?
问题描述
我的时区是格林威治标准时间 -4 或 -5,具体取决于一年中的时间。目前是-4。
如果我使用下面的这段代码,当我们更改为 -5 时它会自动切换吗?
select convert_timezone('America/New_York', CAST(json_extract_path_text('{"timestamp":"2019-04-16T03:30:00.704Z"}', 'timestamp') as TIMESTAMP));
目前,上面的行返回日期 2019-04-15。
但是如果我在 12 月打这个电话(注意时间有 +1 小时),它仍然会返回 2019-04-15 的日期。
select convert_timezone('America/New_York', CAST(json_extract_path_text('{"timestamp":"2019-04-16T04:30:00.704Z"}', 'timestamp') as TIMESTAMP));
换句话说,它会在没有干预的情况下在 EDT 和 EST 之间切换吗?或者,还有更好的方法?
谢谢
解决方案
考虑:
2019-04-16T03:30:00.704Z
(UTC) 在America/New_York
是2019-04-15T23:30:00.704-04:00
2019-04-16T04:30:00.704Z
(UTC) 在America/New_York
是2019-04-16T00:30:00.704-04:00
2019-12-16T04:30:00.704Z
(UTC) 在America/New_York
是2019-12-15T23:30:00.704-05:00
对于美国东部时间,4 月的日期为 -4,而 12 月的日期为 -5。换句话说,被转换的时间戳决定了应用哪个偏移量。
代码执行的日期和时间没有相关性。
推荐阅读
- python - Pandas 将多个相关列组合成单独的组
- java - 加载 JSON 文件:java.lang.OutOfMemoryError: Java heap space
- cmake - CMake 和 VCPKG。未使用三元组标志
- javascript - 如何从js中的时区获取UTC偏移量
- reactjs - 反应js请求和jwt的cors问题
- javascript - 与数组对象的 Json 键值映射
- python - word2vec 嵌入不是 utf 8 编码 - 禁用保存
- php - PHP-FPM 7.3 段错误,如何查找原因?
- django - 如何在访问器中访问列表元素
- c# - 窗口背景图像使进程内存使用量增加三倍