为什么time.h的结构体tm中秒数是从0到60呢?
如图:

秒数是0-60,而不是0-59,第一次看都没有注意,后面在我看《C和指针》Kennth A.Reek著时,原来这个秒数多了一个是C++标准委员会规定的,这是为了“闰秒”,可以在每年的最后一分钟加一秒。
查询百度百科可知,全球共进行了27次闰秒,最近的一次是2017年,这是本世纪的第五次闰秒。
至于为什么其他都是从0开始,我猜测是因为在毫秒转时间的时候,运用了大量的求余运算,不知道这个理解对不对。
如图:

秒数是0-60,而不是0-59,第一次看都没有注意,后面在我看《C和指针》Kennth A.Reek著时,原来这个秒数多了一个是C++标准委员会规定的,这是为了“闰秒”,可以在每年的最后一分钟加一秒。
查询百度百科可知,全球共进行了27次闰秒,最近的一次是2017年,这是本世纪的第五次闰秒。
至于为什么其他都是从0开始,我猜测是因为在毫秒转时间的时候,运用了大量的求余运算,不知道这个理解对不对。