对程序员而言,获取某个地区的时间可采用下面步骤。
step 1: 获取 Unix 时间戳 // sntp协议
step 2: 转化为某个地区的时间 // setenv(“TZ”,”时区”,1)
unix时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数。或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统中,也在许多其他操作系统中被广泛采用。
UTC 和 GMT 关系:
// UTC:协调世界时间/世界统一时间/世界标准时间
// GMT:格林威治时间[0时区的时间]
广义来说,他们没有什么区别,都是描述位于0时区[英国伦敦格林威治天文台]的时间。往细了说,UTC 更加精准,我们通常采用 UTC 来同步全球时间。下面是它们之间的细节差别:
TC是我们现在用的时间标准,GMT是老的时间计量标准。
UTC是根据原子钟来计算时间,而GMT是根据地球的自转和公转来计算时间,也就是太阳每天经过位于英国伦敦郊区的皇家格林威治天文台的时间就是中午12点。
由于现在世界上最精确的原子钟50亿年才会误差1秒(最精确原子钟问世:50亿年误差一秒),可以说非常精确。
而GMT因为是根据地球的转动来计算时间的,而地球的自转正在缓速变慢