转换时区时注意夏令时

2024-02-26

我有一个 Redshift 数据表,其中所有时间值都存储在 CST 中,并且我根据邮政编码(位置)将时间值转换为相应的时区。

当我这样做时,我知道所有时间值都是标准时间,因此我的函数用法是

CASE WHEN **** convert_timezone('CST', 'EST', time_column)  
     WHEN **** convert_timezone('CST', 'MST', time_column)
....
END

一旦我们进入夏令时,这可能不适用。我怎样才能处理这个问题,以便我在 2018 年 3 月和将来不会再次修改 SQL 查询?


不要使用时区缩写。它们有些含糊不清,只能指时区的一方面。相反,使用完整的IANA 时区标识符 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones, 例如America/Chicago为美国中部时间。

这在中得到了很好的解释Redshift 文档 http://docs.aws.amazon.com/redshift/latest/dg/CONVERT_TIMEZONE.html:

使用时区名称

如果您使用时区名称指定时区,CONVERT_TIMEZONE 会自动调整夏令时 (DST) 或对该时区有效的任何其他本地季节性协议,例如夏令时、标准时间或冬令时在“时间戳”指定的日期和时间期间。例如,“Europe/London”代表冬季为 UTC,夏季代表 UTC+1。

至于问题的“...基于邮政编码”部分,请了解并非每个邮政编码都是基于位置的。还有技术任务、海外 APO/FPO 地址、美国领土和其他边缘情况。此外,某些邮政编码可能跨越多个时区。

如果可能的话,更好的方法是:

  • 获取纬度/经度坐标的近似值 - 根据您的源数据使用各种技术。例如,地理编码 API 可以获取街道地址并给出纬度/经度。
  • 然后使用其中一种技术确定该位置的时区标识符此处列出 https://stackoverflow.com/q/16086962/634824.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

转换时区时注意夏令时 的相关文章

  • grails/mysql 时区更改

    完成更改应用程序时区的最佳方法是什么 在我看来 必须发生以下情况 服务器 TZ 已被系统管理员更改 mysql必须重新启动 数据库中每个基于时间的列都必须使用convert tz 或等效方法更新所有值 因此 要么必须编写一个 mysql 脚
  • 将 SQL Server 日期时间转换为较短的日期格式

    我有一个datetimeSQL Server 中的列为我提供了这样的数据10 27 2010 12 57 49 pm我想查询此列 但只需让 SQL Server 返回年月日 例如 2010 10 27或类似的东西 我应该研究哪些功能 我应该
  • 在 python 中使用高精度时间戳

    嘿 我正在使用 python 处理日期时间 我想知道解析这个时间戳的最佳方法是什么 时间戳是ISO标准 这里是一个例子 2010 06 19T08 17 14 078685237Z 现在到目前为止我已经使用过 time datetime d
  • 在 SQL Server 中将 UTC 毫秒转换为 DATETIME

    我想在 SQL Server 中将 UTC 毫秒转换为 DateTime 这可以通过以下代码在 C 中轻松完成 DateTime startDate new DateTime 1970 1 1 AddMilliseconds 1348203
  • 如何在php中关闭夏令时

    我有这行代码将夏令时设置为 打开 将其设置为 关闭 的正确方法是什么 is daylight saving On rcmail config dst active bool date I date I 这是一个大写字母 i 当当前默认时区
  • 将日期时间显示为 MM/dd/yyyy HH:mm 格式 C#

    在数据库中 日期时间以 MM dd yyyy HH mm ss 格式存储 但是 我想以 MM dd yyyy HH mm 格式显示日期时间 我通过使用 String Format 进行了尝试 txtCampaignStartDate Tex
  • 使用时间、日期、时间增量

    我有一个问题 我的工作时间和时差很多 到目前为止 我已经使用许多 if 语句解决了这个问题 但这些语句很容易出错 在寻找更好的解决方案并且无需重新发明轮子的过程中 我遇到了时间 日期和时间增量 但这些对我来说似乎太不灵活了 所以我正在寻找如
  • Ruby 中的 DateTime.parse() 是否依赖于语言环境?

    我想知道以下示例的输出 解析时01 03 它会被解决为Mar 1st or Jan 3rd Ruby 不依赖于语言环境 因为红宝石是一个服务器端语言而不是客户端像 JavaScript 一样的语言 Ruby 使用系统时钟yourWeb 应用
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 如何使用 SimpleDateFormat 解析多种格式的日期

    我正在尝试解析文档中的一些日期 用户似乎以类似但不完全相同的格式输入了这些日期 以下是格式 9 09 9 2009 09 2009 9 1 2009 9 1 2009 尝试解析所有这些内容的最佳方法是什么 这些似乎是最常见的 但我想让我困扰
  • 如何在jquery中获取保存时间和当前时间的差异?

    我想在 javascript 或 jquery 中获取保存时间和当前时间之间的时差 我节省的时间看起来像Sun Oct 24 15 55 56 GMT 05 30 2010 java中的日期格式代码如下 String newDate 201
  • 使用 C# 从 DateTime 获取日期

    愚蠢的问题 给定日期时间中的日期 我知道它是星期二 例如我如何知道它的 tue 2 和 mon 1 等 Thanks 您正在寻找星期几 http msdn microsoft com en us library system datetim
  • .NET 可移植类库中的 .ToShortDateString 发生了什么

    我想知道为什么没有 ToShortDateString在 NET 可移植类库中 我有 2 个项目 Silverlight 和常规 NET 类库 使用相同的代码 并且代码涉及调用 ToShortDateString on a DateTime
  • 是否可以将数组传递给 Amazon Redshift 上的准备好的语句?

    我需要将一个数组传递给 AWS Redshift 上定义的准备好的语句来过滤我的查询 由于 Redshift 不支持此功能 因此我尝试使用 Python UDF 找到解决方法 就像是 a function to split a comma
  • Azure 时区和 javascriptserializer 对象

    我有一个基于预测的应用程序 位于 Windows Azure 上 http ipredikt com http ipredikt com 据我所知 Azure 的时钟已与 GMT 时区同步 这是我遇到的一个问题 假设我有一个名为 Creat
  • 绘制持续时间图表

    从我在写这篇文章之前所做的阅读中 我相当确定我需要创建甘特图 但我不知道这是否是正确的路线 需要将开始时间和结束时间的数据作为一个单位绘制在 Excel 图表上 Y 轴为日期 X 轴为一天中的小时 开始时间和结束时间的格式是 Excel 数
  • Python 中的 datetime.fromtimestamp(os.path.getctime()) 是否为我提供了时区感知值?

    我在 Python 3 4 中使用这样的调用 x datetime fromtimestamp os path getctime somefilename y datetime fromtimestamp os path getmtime
  • UNTimeIntervalNotificationTrigger nextTriggerDate() 是否给出了错误的日期?

    我正在更新本地通知以与 iOS 10 配合使用 但遇到了一个问题 我认为 nextTrigger 函数返回的不是 满足触发条件的下一个日期 而是返回当前日期时间加上您最初设置 UNTimeInvervalNotificationTrigge
  • 了解日期并使用 R 中的 ggplot2 绘制直方图

    主要问题 当尝试使用 ggplot2 制作直方图时 我无法理解为什么日期 标签和中断的处理无法像我在 R 中预期的那样工作 我在找 我的约会频率的直方图 刻度线位于匹配条下方的中心 日期标签在 Y b format 适当的限制 最小化网格空
  • JavaScript 检查时区名称是否有效

    有没有一种方法可以在不使用外部库的情况下检查 JavaScript 中的时区名称是否有效 当用户在文本字段中输入时区名称时 我想验证时区是否有效 我知道我们可以使用时刻时区库轻松做到这一点 但我不想使用任何额外的库 我正在寻找纯 JavaS

随机推荐

  • 如何从 Firebase 获取某个字段为空的记录

    我正在构建一个应用程序 需要小批量处理 5k 任务 为此 我有一个存储在 Firebase 中的任务队列 我希望能够提取一定数量的空状态任务 更新其状态并写回 目前我不知道如何在某个字段为空的情况下提取数据 是否可以 如果不是 替代解决方案
  • 检索 SQL 表中的列数 - C#

    我对 C 很陌生 我正在尝试使用以下方法检索列数 SELECT count FROM sys columns 您能否解释一下如何使用该命令并将其放入变量中 要连接到数据库 您可以使用SqlConnection类 然后要检索行数 您可以使用E
  • 为什么使用数组作为索引会改变多维 ndarray 的形状?

    我有一个 4 D NumPy 数组 轴为 x y z t 我想获取对应于 t 0 的切片并排列 y 轴上的顺序 我有以下内容 import numpy as np a np arange 120 reshape 4 5 3 2 b a 1
  • Xcode Storyboard - 在哪里设置 UITableViewCell 高度

    我正在使用 Xcode 7 并且我正在尝试设置故事板中 UITableViewCell 的高度设置为不同的设备具有不同的单元高度 例如 正常和紧凑 x 常规 我找不到这些设置的位置 这只能通过编程来实现吗 单击 表视图 然后单击 尺寸检查器
  • Flask、mod_wsgi 和 Apache:导入错误

    我在错误日志中收到以下信息 导入错误 没有名为flask的模块 它看起来完全像Django mod wsgi apache 导入错误 没有名为 djproj urls 的模块 https stackoverflow com question
  • 从数据文件夹备份中恢复mysql数据库

    我已经卸载了旧的XAMPP并删除了所有内容d xampp folder并安装了新的 当我复制备份文件夹时 带有我的数据库的名称 包含所有 frm and opt文件 到D xampp mysql data 数据库显示在 phpmyadmin
  • Android Lollipop 不显示 android:背景图像

    我设计了使用 JPEG 图像作为布局背景的屏幕 完整的 UI 屏幕在 Android 8 中正确可见 姜饼 至 Android 19 Kitkat 布局背景在 Android 20 中不可见 Lollipop 我正在使用应用程序兼容性库 请
  • 删除引导程序中标题图像中的细线

    我在标题 菜单中有带有 bootstrap 和 svg sprite 的基本代码 并且图标中有一条细细的灰色背景线 http codepen io anon pen dpzKoQ editors 1100 http codepen io a
  • 无法显示此文件的设计器,因为无法设计其中的任何类

    我们有以下共享组件 public class OurServiceBase System ServiceProcess ServiceBase 此类具有我们在所有下游服务中所需的功能 例如标准化执行调度和日志记录功能 在一个新项目中 我添加
  • 在打字稿中导入html模板

    我试图import我的 html 模板 以便 webpack 能够识别它们并在我构建时包含它们 webpack d 根据这个 GitHub 问题 https github com Microsoft TypeScript issues 27
  • 使用 CLI omxplayer 调整音频音量级别 - Raspberry Pi

    我有一个 bash 脚本 可以通过 omxplayer 在 Raspberry Pi 上播放 mp3 文件 但无法控制本地 耳机 音量GUI 是否有一个命令CLI我可以在 bash 脚本中实现吗 我搜索了很多 但找不到这样的命令 Code
  • “DataView 在 System.data 中未标记为可序列化”是什么意思?

    当我将 dataview 存储在 viewstate 中时 net 显示错误 Dataview 在 system data 中未标记为可序列化 但当我将其存储在会话中时 它可以正常工作吗 背后的原因是什么 还有哪些其他对象没有标记为 可序列
  • 如何将选项传递给“集合”字段 Symfony 2.1 中的 CustomType?

    I have SuperType实体表格Super 在这种形式中我有一个collection现场ChildType实体的表单类型Child class SuperType public function buildForm FormBuil
  • 从 byte[] 下载 PDF 文件

    我一直在努力做一个PDF文件下载自bytes 在 ASP Net MVC C 中 下面的代码工作正常 我需要将代码转换为 NET Core对于相同的PDF下载过程 string fileName testFile pdf byte pdfa
  • 在主屏幕中安装启动器图标一次

    当用户安装 Android 应用程序时 会在应用程序菜单中创建启动器图标 我采访过的许多用户都希望 当他们安装应用程序时 他们的主屏幕 启动板 上应该自动出现一个图标 许多应用程序都以某种方式实现了这一点 我的偏好是在安装时出现一个窗口 询
  • 如何在 VB.Net 中运行 Powershell 脚本

    我需要在 VB Net 中运行 Exchange 2007 powershell 脚本 但我似乎找不到显示如何在加载模块的情况下执行此操作的方法 做到这一点的最佳方法是什么 您可以在VB中运行powershell脚本 请查看以下链接 htt
  • 单击按钮即可更新 D3 等值线州地图数据

    我使用 d3 datamaps 和 topojson 创建了一个 choropleth 州地图 我在根据按钮单击更改原始地图数据时遇到问题 首选方法是仅在更改函数内刷新原始地图的数据 相反 我让按钮执行函数消除包含地图的 div 然后重新创
  • Sqlite3_step() 在此查询上不断返回 SQLITE_MISUSE。有什么指点吗?

    我试图在 viewDidLoad 例程中打开一个 sqlite 数据库 并尝试将 sql 查询发送到该数据库 但 sqlite step 每次都会失败 我不确定这里出了什么问题 我只是尝试将其作为 sqlite3 的 hello world
  • 提交响应后 FormResponse.getId() 返回错误值

    我正在编写一个程序 需要各种谷歌表单响应的ID 我的程序首先创建表单对象并获取响应 var form FormApp openByUrl var allResponses form getResponses 如果表单响应是几个小时前的 那么
  • 转换时区时注意夏令时

    我有一个 Redshift 数据表 其中所有时间值都存储在 CST 中 并且我根据邮政编码 位置 将时间值转换为相应的时区 当我这样做时 我知道所有时间值都是标准时间 因此我的函数用法是 CASE WHEN convert timezone