AoE到期时的反义词是什么?

时间:2018-03-07 11:45:42

标签: timezone generalization

我正在指定一个向用户显示时间段的应用程序。目标是在简单视图中显示句点(没有时间,没有时区)和详细视图(日期和时间,带有时区数据)。简单的观点应该是明确的,换句话说,用户可以浏览它们以及他们看到的正确的假设(它们在当地时区有效)。

在全球时段结束时,在AoE时区[1]中显示日期将解决此问题。例如,提交截止日期可能会显示为2018-04-03(实际为2018-04-03 23:59:59 AoE)。这意味着只要在4月3日这个星球的某个地方就可以接受提交。

但我也想表明全球时期的开始。例如,如果提交在April 2 2018 00:01上提交,那么它们将在4月2日的某个地方被接受。 (目前这将是UTC + 14,与Line Islands相匹配。)

我看不到使用AoE获取全局开始时间的方法。是否存在跟踪全球开始时间的AoE(标准化语义时区)的等价物?

备注:

  • 硬编码UTC-12和UTC + 14是现代的简单答案。但我正在寻找语义时区,如果值发生变化(而不是引用不存在的历史日期时间),将会更新这些语义时区。
  • 我以为我在tz database看过Etc/AoE但事实并非如此。

参考文献:

[1]地球上的任意地点(AoE)时区代表日期时间“地球上任何地方”到期的时刻。它目前与Howland Island(UTC-12)的时间相匹配。如果发明了UTC-13时区,则会更新以跟踪该时区。

1 个答案:

答案 0 :(得分:1)

据我所知,AoE不是IANA定义的时区(AFAIK,历史记录中某些地理区域的所有偏移列表)。

它更像是一个“概念”,一个特定日期在地球上任何地方都有效的想法。正如您所说,如果创建或删除更多时区,这种“有效”的概念将会改变。

我甚至不知道日期/时间API是否可以自动正确处理AoE - 也许我应该学习更多。但我的结论是,实现目标的唯一方法是手动检查:

  • 您可以检查所有可用的时区,看看日期是否有效,与该区域的当前日期/时间进行比较
  • 您可以将UTC + 14配置为要比较的偏移量,并进行一些预定作业(每日/每周/每次 - IANA发布 - 新版本?)以检查所有区域并设置正确的一个(最大偏移量?)。如果此区域具有夏令时更改,您还必须注意,因为偏移也会改变(以及当时钟向后移动1小时和local time may exist twice时,如何处理重叠?)