首先说明关于几个时间的概念:
世界时:起初,国际上的标准时间是格林尼治标准时间,以太阳横穿本初子午线的时刻为标准时间正午12点。它根据天文环境来定义,就像古代人们根据日晷来计时一样,如下图:
原子时:地球一年中自转的速度并不是恒定的,它有时候转的快,有时候转的慢,地震可能使得地球自转加快,而发射卫星则使得自转减缓,但地球的总体自转趋势是越来越慢。如果按照地球自转一圈固定为24小时来定义时间长度,会导致一秒钟的长度不稳定,或长或短。为解决这个问题,科研人员发现某元素的原子运动频率很稳定,可以以该元素原子运动一个周期的时间作为一秒的衡量单位,这就是原子时。如下图
协调时:原子时和世界时的时间相冲突,一个固定不变,一个或长或短,因为地球的总体自转趋势是越来越慢,随着时间的增加,它们之间差距会越来越大,原子时会比世界时快,5000年后原子时会比世界时快1个小时,这样就出现了冲突,到底以哪个为准?为了折衷,出现了协调时,当原子时比世界时快了的时候,让原子时暂停,等一下世界时,让世界时赶上来。这些时间的调整就是所谓的“闰秒”。协调时,是我们当前手机、电脑上面显示的那个时间。
Unix/Linux系统提供关于时间的服务,有以下函数API:
time_t
clock_t