[英]Why does tm_sec range from 0-60 instead of 0-59 in time.h?
我的time.h
有以下tm
定義:
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年代伯克利起源文件留下的文檔錯誤嗎?
或者是否有一些我不知道的更微妙的事情?
閏秒是這樣的原因:
閏秒是對協調世界時(UTC)時間刻度的正負1秒調整,使其接近平均太陽時。
當在UTC時間23:59:60添加正閏秒時,它將后續UTC日(在00:00:00 UTC)的開始延遲一秒,從而有效地減慢了UTC時鍾。
ctime
的手冊頁解釋說這是關於閏秒:
tm_sec
:分鍾后的秒數,通常在0到59的范圍內,但最多可以為60,以允許閏秒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.