gpt4 book ai didi

c++ - 为什么 tm_sec 在 time.h 中的范围是 0-60 而不是 0-59?

转载 作者:IT老高 更新时间:2023-10-28 12:56:23 25 4
gpt4 key购买 nike

我的time.htm有如下定义:

struct tm {
int tm_sec; /* seconds after the minute [0-60] */
int tm_min; /* minutes after the hour [0-59] */
int tm_hour; /* hours since midnight [0-23] */
...
}

我刚刚注意到他们将 tm_sec 记录在 0-60 之间。我一直认为它的范围是 0-59,就像 tm_min 一样。我当然从没见过时钟读数是 10:37:60...

您认为这只是 90 年代源自伯克利的文件遗留下来的一个文档错误吗?

还是有一些我不知道的更微妙的事情发生?

最佳答案

Leap seconds原因是什么:

A leap second is a plus or minus one-second adjustment to the Coordinated Universal Time (UTC) time scale that keeps it close to mean solar time.

When a positive leap second is added at 23:59:60 UTC, it delays the start of the following UTC day (at 00:00:00 UTC) by one second, effectively slowing the UTC clock.

关于c++ - 为什么 tm_sec 在 time.h 中的范围是 0-60 而不是 0-59?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/765778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com