闰秒涂抹
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
自 2008 年以来,我们没有采用时钟步骤将闰秒应用于我们的服务器,而是在每闰秒前后的小时数中额外留出了“模糊处理”时间。
闰秒模糊处理适用于所有 Google 服务,包括所有 API。
我们建议的标准涂抹
许多组织使用污染时钟,如果涂抹结果相同,会很有帮助。毕竟,时钟的用途是在不同位置读取相同的时间。
我们鼓励任何人采用闰秒作为抹擦时间,采用世界协调时间 (UTC) 24 小时制,从中午到中午 12:00(世界协调时间)。
此涂层将经验证明在许多分布式计算应用中效果良好的功能相结合:
- 长时间设置会使频率变化较小。这道涂油量变化约为 11.6ppm。这处于大多数机器和石英振荡器的制造和热误差范围内,并且低于 NTP 最大 500 ppm 速率。
- 以抹擦秒为中心居中涂抹,而不用在闰秒处开始或结束,从而最大限度减小最大偏移量。
- 与余弦涂抹相比,线性涂抹更简单、更易于计算,并且最大程度降低了最大频率变化。
- 实施涂抹的其他人广泛采用 24 小时制。
我们原来使用 20 小时的涂抹持续时间,但改成了这种更受中午到中午间隔的方式。
我们计划在将来的所有闰秒中使用此涂抹。Amazon 在 AWS 中使用此涂抹。如需在系统中使用此 API,一种方法是将其配置为使用 Google 公共 NTP。
标准涂片示例
在此示例中,尽管在 2022 年 12 月底之前,实际时间表尚未公布,但我们会假定此日期为闰秒。
涂抹期从 2022-12-31 12:00:00 UTC 开始,一直持续到 2023-01-01 12:00:00 UTC。
在此时间段之前和之后,污染的时钟和时间服务与应用闰秒的时钟保持一致。
涂抹期间时钟会比平时慢一点。根据陆地时间的实现,smastime scale 的每一秒都比 SI 秒 大约 11.6 微秒。
在闰秒开始时,污染时间正好比 UTC 落后 0.5 秒。UTC 会插入额外的一秒,而经过模糊处理的时间不会中断。这导致当闰秒结束时,会达到均匀分布的不到 0.5 秒的时间。
通过继续以慢速运行时钟,连续涂抹可以减少接下来的 12 小时的偏移时间。到 12:00:00 时,污渍和跳跃时钟会再次达成一致。
泰国航空 |
无缩略图 UTC |
污染时间 |
2022 年 12 月 31 日 12:00:36.000000 |
2022 年 12 月 31 日 11:59:59.000000 |
2022 年 12 月 31 日 11:59:59.000000 |
2022 年 12 月 31 日 12:00:37.000000 |
2022 年 12 月 31 日 12:00:00.000000 |
2022 年 12 月 31 日 12:00:00.000000 |
2022 年 12 月 31 日 12:00:38.000011 |
2022 年 12 月 31 日 12:00:01.000011 |
2022 年 12 月 31 日 12:00:01.000000 |
2023-01-01 00:00:35.499976 |
2022-12-31 23:59:58.499976 |
2022-12-31 23:59:58.000000 |
2023-01-01 00:00:36.499988 |
2022 年 12 月 31 日 23:59:59.499988 |
2022-12-31 23:59:59.000000 |
2023-01-01 00:00:37.000000 |
2022-12-31 23:59:60.000000 |
2022 年 12 月 31 日 23:59:59.500005 |
2023-01-01 00:00:37.500000 |
2022-12-31 23:59:60.500000 |
2023-01-01 00:00:00.000000 |
2023-01-01 00:00:38.000000 |
2023-01-01 00:00:00.000000 |
2023 年 1 月 1 日 00:00:00.499994 |
2023-01-01 00:00:38.500011 |
2023 年 1 月 1 日 00:00:00.500011 |
2023-01-01 00:00:01.000000 |
2023-01-01 00:00:39.500023 |
2023 年 1 月 1 日 00:00:01.500023 |
2023 年 1 月 1 日 00:00:02.000000 |
2023 年 1 月 1 日 12:00:36.999988 |
2023 年 1 月 1 日 11:59:58.999988 |
2023 年 1 月 1 日 11:59:59.000000 |
2023 年 1 月 1 日 12:00:38.000000 |
2023 年 1 月 1 日 12:00:00.000000 |
2023 年 1 月 1 日 12:00:00.000000 |
2023 年 1 月 1 日 12:00:39.000000 |
2023 年 1 月 1 日 12:00:01.000000 |
2023 年 1 月 1 日 12:00:01.000000 |
在涂抹期的 86401 SI 秒内,标注 86400 秒内的拉伸加上闰秒所需的一个额外的 SI 秒。
一旦出现时钟的负闰秒,即可通过加强从中午到中午 86,399 SI 秒的时钟上油渍。
其他涂料
我们还提出了或实施了一些其他补充方案。
涂抹软件支持
我们的开源不模糊处理库可以在涂抹时间与未模糊处理的 TAI 或 GPST 之间进行双向转换。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2022-02-15。
[null,null,["最后更新时间 (UTC):2022-02-15。"],[[["\u003cp\u003eGoogle uses a "leap smear" to handle leap seconds, gradually adjusting time over 24 hours instead of abrupt clock steps.\u003c/p\u003e\n"],["\u003cp\u003eGoogle's recommended leap smear standard is a 24-hour linear smear from noon to noon UTC for distributed computing applications.\u003c/p\u003e\n"],["\u003cp\u003eThe smear keeps frequency changes small, minimizes offset, and simplifies calculation, aligning with practices in AWS and Google Public NTP.\u003c/p\u003e\n"],["\u003cp\u003eSmeared time briefly deviates from UTC during the smear period but realigns after 24 hours.\u003c/p\u003e\n"],["\u003cp\u003eGoogle's open source "unsmear" library allows conversion between smeared and unsmeared time (TAI or GPST).\u003c/p\u003e\n"]]],["Google implements a \"leap smear\" for leap seconds, spreading the extra second over 24 hours, from noon to noon UTC. This linear smear, adopted by Amazon AWS, adjusts clocks to run slightly slower (about 11.6 ppm), ensuring minimal frequency change and offset. During the smear period, smeared time lags slightly behind UTC initially but aligns again at the end. Google advocates for this 24-hour linear smear as a standard and offers the \"unsmear library\" for time conversion.\n"],null,["# Leap Smear\n\nSince 2008, instead of applying leap seconds to our servers using clock steps,\nwe have \"smeared\" the extra second across the hours before and after each leap.\nThe leap smear applies to all Google services, including all our APIs.\n\nOur proposed standard smear\n---------------------------\n\nMany organizations use smeared clocks, and it would be helpful if the smears\nwere the same. After all, the purpose of clocks is to read the same time in\ndifferent places.\n\nWe encourage anyone smearing leap seconds to use a **24-hour linear smear from\nnoon to noon UTC**.\n\nThis smear combines the features that experience has shown to work well for many\ndistributed computing applications:\n\n- The long duration keeps the frequency change small. The change for the smear is about 11.6 ppm. This is within the manufacturing and thermal errors of most machines' quartz oscillators, and well under NTP's 500 ppm maximum slew rate.\n- Centering the smear on the leap second, instead of having it begin or end at the leap second, minimizes the maximum offset.\n- Compared to a cosine smear, the linear smear is simpler, easier to calculate, and minimizes the maximum frequency change.\n- The 24-hour duration has been widely adopted by others implementing smears. We previously used a 20-hour smear duration, but changed to align with this more popular noon-to-noon interval.\n\nWe plan to use this smear for all future leap seconds. Amazon\n[uses this smear](https://aws.amazon.com/blogs/aws/look-before-you-leap-the-coming-leap-second-and-aws/)\nin AWS. One way to use it in your systems is to configure them to use\n[Google Public NTP](/time/guides).\n\nExample of the standard smear\n-----------------------------\n\nIn this example, we will suppose there is a leap second at the end of December\n2022, although the actual schedule has not yet been announced.\n\nThe smear period starts at [2022-12-31 12:00:00\nUTC](https://www.timeanddate.com/worldclock/converter.html?iso=20211231T120000&p1=1440&p2=1241)\nand continues through [2023-01-01 12:00:00\nUTC](https://www.timeanddate.com/worldclock/converter.html?iso=20220101T120000&p1=1440&p2=1241).\nBefore and after this period, smeared clocks and time service agree with clocks\nthat apply leap seconds.\n\nDuring the smear, clocks run slightly slower than usual. Each second of time in\nthe smeared timescale is about 11.6 μs longer than an [SI\nsecond](http://www.bipm.org/en/publications/si-brochure/second.html) as realized\nin [Terrestrial Time](https://en.wikipedia.org/wiki/Terrestrial_Time).\n\nAt the beginning of the leap second, smeared time is just under 0.5 s\nbehind UTC. UTC inserts an additional second, while smeared time continues\nuninterrupted. This causes smeared time to become just under 0.5 s ahead\nof UTC when the leap second ends.\n\nBy continuing to run the clocks at the same slowed rate, the ongoing smear\nreduces this offset over the next twelve hours. By 12:00:00, smeared and leaping\nclocks agree again.\n\n| TAI | Unsmeared UTC | Smeared time |\n|----------------------------|----------------------------|----------------------------|\n| 2022-12-31 12:00:36.000000 | 2022-12-31 11:59:59.000000 | 2022-12-31 11:59:59.000000 |\n| 2022-12-31 12:00:37.000000 | 2022-12-31 12:00:00.000000 | 2022-12-31 12:00:00.000000 |\n| 2022-12-31 12:00:38.000011 | 2022-12-31 12:00:01.000011 | 2022-12-31 12:00:01.000000 |\n| 2023-01-01 00:00:35.499976 | 2022-12-31 23:59:58.499976 | 2022-12-31 23:59:58.000000 |\n| 2023-01-01 00:00:36.499988 | 2022-12-31 23:59:59.499988 | 2022-12-31 23:59:59.000000 |\n| 2023-01-01 00:00:37.000000 | 2022-12-31 23:59:60.000000 | 2022-12-31 23:59:59.500005 |\n| 2023-01-01 00:00:37.500000 | 2022-12-31 23:59:60.500000 | 2023-01-01 00:00:00.000000 |\n| 2023-01-01 00:00:38.000000 | 2023-01-01 00:00:00.000000 | 2023-01-01 00:00:00.499994 |\n| 2023-01-01 00:00:38.500011 | 2023-01-01 00:00:00.500011 | 2023-01-01 00:00:01.000000 |\n| 2023-01-01 00:00:39.500023 | 2023-01-01 00:00:01.500023 | 2023-01-01 00:00:02.000000 |\n| 2023-01-01 12:00:36.999988 | 2023-01-01 11:59:58.999988 | 2023-01-01 11:59:59.000000 |\n| 2023-01-01 12:00:38.000000 | 2023-01-01 12:00:00.000000 | 2023-01-01 12:00:00.000000 |\n| 2023-01-01 12:00:39.000000 | 2023-01-01 12:00:01.000000 | 2023-01-01 12:00:01.000000 |\n\nOver the 86,401 SI seconds of the smear, the stretch in the 86,400 indicated\nseconds adds up to the one additional SI second required by the leap.\n\nA negative leap second, if one were ever to occur, would be smeared by speeding\nup clocks over the 86,399 SI seconds from noon to noon.\n\nOther smears\n------------\n\nSeveral other smears have been proposed or implemented.\n\n- [UTC-SLS](https://www.cl.cam.ac.uk/%7Emgk25/time/utc-sls/) is a linear smear over 1,000 s before the leap (23:43:20 to 00:00:00).\n- [Google's 2008\n smear](https://googleblog.blogspot.com/2011/09/time-technology-and-leaping-seconds.html) was a 20-hour cosine smear before the leap (04:00:00 to 00:00:00). This was the only time we used a cosine smear.\n- [Google's second leap\n smear](https://cloudplatform.googleblog.com/2015/05/Got-a-second-A-leap-second-that-is-Be-ready-for-June-30th.html) was a 20-hour linear smear centered on the leap. We used this in 2012, 2015, and 2016.\n- [Bloomberg's\n smear](https://data.bloomberglp.com/professional/sites/4/Bloomberg-Leap-Second_December-2016.pdf) is a linear smear over 2,000 s after the leap (00:00:00 to 00:33:20).\n- [Meinberg](https://www.meinbergglobal.com/download/burnicki/Leap%20Second%20Smearing%20With%20NTP.pdf) has implemented a cosine smear of configurable duration.\n\nSoftware support for the smear\n------------------------------\n\nOur open source [unsmear library](https://github.com/google/unsmear) will\nconvert in either direction between smeared time and unsmeared TAI or GPST."]]