首页 > 解决方案 > 如何创建用于标记夏令时额外时间的唯一值?

问题描述

我需要管理夏令时数据,因此在我的表中重复两次或缺少该特定时间的数据的时间需要使用唯一值进行编码,这将使我了解哪个时间对应于夏令时时间。我正在尝试在 Pentaho Kettle 中执行此操作

在此处输入图像描述

标签: sqlpostgresqlpentaho

解决方案


如果您需要一个序列或时间序列,请以 UTC 为基础

您的要求存在冲突,因为在切换日的夏令时时间没有清晰的顺序,仍然会自动映射到 24 小时制。

如果您使用序列号,您最终会在切换日获得 23 或 25 条记录,这意味着您需要自定义映射回 UTC 时间以保持 3 小时后的工作正常。对于任何类型的时间序列,UTC 都非常重要更方便,更不容易出错。

如果您保持一天 24 小时并放松顺序,您将需要插入类似 2.0 的内容来表示春季丢失的时间,以及插入 2.1 和 2.2 来表示秋季切换。它只是增加了更多的复杂性:

  • 虚拟 2.0 记录不能有与之关联的活动(根据定义,它被完全跳过),如果有,它会在您尝试使用它的任何地方中断日期解析。
  • 2.1 和 2.2 记录至少可以帮助您查看首先发生的活动,但是您需要在任何地方为这种情况进行自定义编码,根据它们的 UTC 时间戳拆分和合并双小时的记录......注意这里的模式吗?

推荐阅读