开发者工具·Unix时间戳转换器
夏令时转换如何改变当地时间列显示的内容
· 工作原理
时间戳 时区 调试
本地时钟每年跳跃两次,并且转换周围的纪元值会产生重复或从不存在的本地时间。这篇文章解释了机制,因此围绕 DST 更改的转换器输出是有意义的。
在 01:30 处记录的事件两次 — 每小时间隔两个纪元,两者都显示相同的本地挂钟时间
在向后偏移更改期间,两个不同的纪元可以格式化为相同的挂钟标签。该工作簿将该标签固定为 01:30,但存储库未建立通用过渡时间。重复间隔属于浏览器区域的适用规则,而不是 Unix 时间本身。
当出现重复项时,将纪元、ISO 行和显示的偏移量保留在一起。仅对本地 `HH:mm` 列进行排序可以反转或折叠事件。 ToolAcre 的 UTC 渲染为每个瞬间提供了独特的时间锚点,即使熟悉的本地面孔重新访问较早的范围也是如此。
可以重复本地读数;验证浏览器中的实际转换,而不是假设 01:30
纪元计数在不改变其单位或原点的情况下进行转换。变化的是在本地区域中格式化日期时应用的 Intl 偏移量。连续的两秒在 UTC 中仍然是连续的,即使它们的本地标签看起来跳得更远或向后。
这种区别可以防止破坏性的“更正”。从存储的纪元中减去一个小时,因为仪表板重复一个小时会更改有效事件。修复显示标签中的格式、分组或歧义。保持机器即时,除非有证据表明源时钟本身是错误的。
一个有用的不变量在每次偏移量变化中都存在:减去两个纪元值即可得出它们真实的经过持续时间。减去格式化的墙时间可能不会,因为它们的偏移量可能不同。
转换会更改适用的偏移量,同时纪元保持连续
在向前偏移更改期间,可能不会生成一系列局部墙标签。它的宽度和位置不能从这个实现中安全地概括出来; ToolAcre 询问 Intl 并报告结果。它不包含每次轮班为一小时或发生在 02:00 的硬编码假设。
转换器从现有时刻开始,因此它只是显示两侧适用的本地读数。调度不存在的本地输入是不同的操作。如果表单必须解决该情况,则其产品政策必须决定是否拒绝、移动或重新解释所请求的挂起时间。
向前转换可以跳过本地读数;确切的间隔取决于经过验证的区域规则
向后的变化使得另一个范围在不同的偏移量下多次出现。除非本地文本包含偏移量或关联的纪元,否则它会变得不够。 ToolAcre 请求 `shortOffset`,为读者提供了一种在平台提供该格式时区分两种渲染的方法。
数据库重复数据删除可能会丢弃真实记录。具有稳定标识符的关键事件并存储它们的瞬间。本地日历字段是有用的查询投影,但它们不应替换区分第一次出现和第二次出现的值。
向后转换可以重复本地读数;确切的间隔取决于经过验证的区域规则
使用为测试设备上配置的区域记录的转换,然后在其周围选择两个相隔一小时的时期。将每个显式转换为秒并记录 ISO、本地输出和偏移量。如果本地标签提前量与 UTC 不同,则变化的偏移量会解释该差异。
此方法故意不对日期或城市进行硬编码。该任务警告不要在没有证据的情况下断言命名区域转换规则,并且存储库没有固定的区域固定装置。您观察到的一对成为该环境中可复制的工作示例,而该文章对于其他地方的读者来说仍然是真实的。
工作示例:从转换器导出转换对,而不是发布未经验证的区域规则
某些配置的区域可能在测试年份中没有显示季节性变化;其他的可能因历史日期而异。转换器可以显示这些结果,但不会解释或版本化规则。固定偏移计算无法发现变化点,因为它假设正在测试的恒定性。
对于回归测试,固定环境并记录其预期的平台数据,而不是将一台笔记本电脑视为通用。如需支持,请询问区域名称、即时和渲染偏移。仅说“DST 是错误的”会忽略重现浏览器实际格式所需的证据。
这不包括什么 - 在 DST 更改期间安排未来的当地时间,这需要区域规则而不是固定偏移量
该面板转换已知的瞬间。它不会通过偏移量更改来计算定期的未来约会,例如“每周一在 09:00”。这项工作从一个命名区域以及针对间隙和重叠的策略开始,这两者都不是由一个固定的纪元表示的。
合并两个工作流程会导致一个微妙的错误:添加七次 86,400 秒会保留经过的持续时间,不一定是相同的未来挂钟标签。使用为民用时间重现而构建的调度逻辑。然后使用纪元转换器来检查特定已解决的事件。
调度程序还必须保留用户在重叠期间是指较早还是较晚发生的情况。该选择在单独的固定偏移时钟串中没有表示。
要点:相信纪元,怀疑挂钟——以及 Unix 时间戳转换器的 UTC 读数如何锚定本地时间戳
信任排序的纪元,并将挂钟视为依赖于上下文的渲染。 ToolAcre 保存一个 Date 常量,而 Intl 提供 UTC 和本地形式。因此,可以在不改变基础计数的情况下检查令人惊讶的跳跃或重复。
安全调试包是原始值、单位、ISO 输出、本地区域标签和偏移量。对于这些字段,转换作为格式规则更改可见。如果没有它们,重复的时钟文本会引发对数据不支持的重复请求、延迟队列或损坏的服务器时钟的猜测。
该证据包还使错误报告变得可移植。即使另一位工程师自己的本地区域和挂钟渲染完全不同,也可以重现 UTC 时刻。