问题标签 [leap-second]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
5630 浏览

windows - Windows FILETIME 结构是否包含闰秒?

根据 Microsoft 文档,该FILETIME结构从 1601 年 1 月 1 日(大概是那天开始)开始计算,但这是否包括闰秒?

0 投票
1 回答
2939 浏览

sql-server-2008 - 在 SQL Server 2008 中存储闰秒

这个周末是一个超长的周末,因为在 6 月 30 日之后将插入额外的第二个23:59:59周末。

我们有一个系统可以全天候记录大量数据,其中一条业务规则是不能将两条记录记录为同时发生,时间不超过一秒。

我们将 UTC 日期时间与新datetimeoffset数据类型一起使用,但据我所知,它们不会让您在一分钟内拥有超过 60 秒的时间。

当然,这会引发错误:

但根据 UTC 诸神,这将是一个实时的。事件可以发生在23:59:60但我们无法记录这一事实。

23:59:5900:00:007 月 1 日仍将考虑加上一秒的偏移量。

如何正确记录23:59:60数据库中发生的事件?

0 投票
1 回答
682 浏览

linux - 闰秒和 pthread_mutex_timedlock 过早超时

所以就在最近,我依赖于 pthread_mutex_timedlock 的异步服务器代码似乎过早地超时了。起初我以为这只是我的错误,但看到 linux 内核存在一些闰秒问题,似乎我不是唯一一个:https ://lkml.org/lkml/2012/7/1 /11

目前对此的修复是什么?重启服务器,还是更新内核?我的服务器依赖于 timedlock 机制来等待来自其他线程的事件,并且由于这个过早的超时,CPU 使用率一直处于 100%,因为它永远不会停留在 timed lock 上。

我目前正在运行 ubuntu 服务器 10.04.4,内核版本为 2.6.39.1

0 投票
2 回答
1353 浏览

php - 如何在 PHP 的 DateTime 中启用对闰秒的完整 UTC 支持?

我想用Leap SecondsDateTime做一些计算,但它很早就停止了,因为我不知道我的意思:DateTime

输出:

我无法为DateTime去年的 UTC 闰秒创建一个(也不是我尝试过的其他闰秒)。我想知道是否DateTime支持闰秒,我认为它支持UTC,但可能不支持闰秒,所以只支持GMT?

0 投票
4 回答
23061 浏览

shell - Unix 时间和闰秒

关于 Unix (POSIX) 时间,维基百科说:

由于它处理闰秒,它既不是时间的线性表示,也不是 UTC 的真实表示。

但是 Unixdate命令似乎实际上并没有意识到它们

虽然那里应该有闰秒Mon Jun 30 23:59:60 UTC 1997

这是否意味着只有date命令忽略闰秒,而 Unix 时间的概念没有?

0 投票
2 回答
420 浏览

posix - 在 Linux 中测试给定 time_t 的闰秒

有没有一种简单的方法来确定给定的实现应用了多少(如果有)闰秒:

例如,my_tm 中是否填充了一个字段?

否则,我想我的选项是测试已知 time_t 值在给定时间与闰秒转换接壤,但如果有更方便的东西会很好。

0 投票
2 回答
3044 浏览

python - 从 tzdata 中提取历史闰秒

有没有办法从分布在大多数 Linux 发行版上的时区数据库中提取历史闰秒时刻?我正在寻找 python 中的解决方案,但是在命令行上工作的任何东西都可以。

我的用例是在 gps 时间(基本上是自 1980 年第一颗 GPS 卫星开启以来的秒数)和 UTC 或本地时间之间进行转换。UTC 不时调整闰秒,而 gps-time 线性增加。这相当于在 UTC 和TAI之间转换之间进行转换。TAI 也忽略闰秒,因此 TAI 和 gps-time 应该始终以相同的偏移量演变。在工作中,我们使用 gps-time 作为全球同步天文观测的时间标准。

我有在 gps-time 和 UTC 之间转换的工作函数,但我必须硬编码一个闰秒表,我在这里得到了(该文件tzdata2013xx.tar.gz包含一个名为leapseconds)。每隔几年,当宣布新的闰秒时,我必须手动更新此文件。我更愿意从标准 tzdata 中获取此信息,该信息每年通过系统更新数次自动更新。

我很确定这些信息隐藏在 /usr/share/zoneinfo/. 我已经能够使用struct.unpackman tzfile给出一些关于格式的信息)来提取其中的一些,但我从来没有让它完全工作。是否有任何标准软件包可以访问此信息?我知道pytz,它似乎从同一个数据库中获取标准 DST 信息,但它不能访问闰秒。我还找到了 tai64n,但查看它的源代码,它只包含一个硬编码表。

编辑

受到 steveha 的回答和pytz/tzfile.py中的一些代码的启发,我终于得到了一个可行的解决方案(在 py2.5 和 py2.7 上测试):

结果

虽然这确实解决了我的问题,但我可能不会选择这个解决方案。相反,我将按照 Matt Johnson 的建议在我的代码中包含leap-seconds.list 。这似乎是用作 tzdata 来源的权威列表,并且可能每年由 NIST 更新两次。这意味着我将不得不手动进行更新,但是这个文件很容易解析并且包含一个过期日期(似乎缺少 tzdata)。

0 投票
1 回答
271 浏览

ios - 从 GPS 数据(核心位置)获取闰秒 iOS

是否可以使用核心位置框架从 gps 数据中获取使用的闰秒?我需要确切的日期/时间来通过 BTLE 在我的 iPad/iPhone 上同步外部设备。

谢谢,本杰明

0 投票
2 回答
4425 浏览

python - Python - 日期时间没有正确考虑闰秒?

我正在解析一些具有闰秒时间戳 datetime 的数据2012-06-30T23:59:60.209215。我使用以下代码解析该字符串并转换为日期时间对象:

Python 文档声称这不应该是一个问题,因为%Saccept [0, 61]。但是,我用上面的时间戳得到了这个错误

谢谢

0 投票
1 回答
278 浏览

java - 2015 年 6 月 30 日闰秒期间在 Amazon linux AMI 上运行的日历操作

环境:Amazon Linux AMI 上的 Java 7(已修补)。请注意,在此环境中使用 NTP。

我们的一部分代码定期执行计划任务。通常,执行的确切时间并不是特别重要。但是,我们有类似的逻辑用于计算报告的间隔。报告期预计将落在确切的小时范围内。

示例代码:

我们将时间保存为 unix 时间戳(长)值。所有Calendar实例都在 UTC 时区。

我们的理解是 Java 7 的日历实现不考虑闰秒。我们也相信 NTP 会更新操作系统时钟。

我们知道亚马逊 2012 年的闰秒崩溃。我们正在与他们直接沟通,以了解他们的运营准备情况。

具体问题:

  1. 如果我们increment的日历在闰秒之前的一个小时边界上,它会在闰秒之后的一个小时边界上吗?还是整点前一秒?

  2. 我们应该如何测试/验证这段代码将如何跨越闰秒边界?被黑的 NIST 跳跃文件是一个好方法吗?

  3. 是否有更合适的模式/实现可以回避闰秒问题?