1、各种时间定义
1.1 UNIX时间
或称UNIX时间戳(UNIX TIMESTAMP)、POSIX时间(POSIX TIME),是一种UNIX或类UNIX系统使用的时间表示方式,定义为从协调世界时(有些文档为格林威治时间)
1970年01月01日00时00分00秒起至现在的总秒数,不包括润秒。
1.2 GMT时间
格林威治标准时间(中国大陆翻译:格林尼治平均时间或格林尼治标准时间,台、港、澳翻译:格林威治标准时间;英语:Greenwich Mean Time,GMT)
指位于英国伦敦郊区的皇家格林威治天文台的标准时间,因为本初子午线被定义在通过那里的经线。
自1924年2月5日开始,格林威治天文台每隔一小时会向全世界发放调时信息。
理论上来说,格林威治标准时间的正午是指当太阳横穿格林威治子午线时(也就是在格林威治上空最高点时)的时间。由于地球在它的椭圆轨道里的运动速度不均匀,这个时刻可能与实际的太阳时有误差,最大误差达16分钟。
由于地球每天的自转是有些不规则的,而且正在缓慢减速,因此格林威治时间已经不再被作为标准时间使用。1972年1月1日,UTC(协调世界时)成为新的世界标准时间。现在的标准时间,是由原子钟报时的协调世界时(UTC)。
1.3 UTC时间
协调世界时,又称世界标准时间或世界协调时间,简称UTC(从英文“Coordinated Universal Time”/法文“Temps Universel Cordonné”而来),
最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽量接近于格林尼治平时。
1.4 GMT和UTC的区别
1972 年1 月1日,Universal Time Coordinated(协调世界时)成为新的世界标准时间。为了方便,通常记成UTC。同样为了方便,在不需要精确到秒的情况下,通常也将GMT和UTC视作等同。
1.5 时区和时差
时区(Time Zone) 是地球上的区域使用同一个时间定义。以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时)。1884年在华盛顿召开国际经度会议时,为了克服时间上的混乱,规定将全球划分为24个时区。
世界各个国家位于地球不同位置上,因此不同国家的日出、日落时间必定有所偏差。这些偏差就是所谓的时差。
在计算机控制面板的日期和时间设置中有一个时区设置,时区以[UTC+-时差]表示,如果本地时间比UTC时间快,例如中国大陆、香港、澳门、台湾、蒙古国、新加坡、马来西亚、菲律宾、澳大利亚西部的时间比UTC快8小时,就会写作UTC+8,俗称东8区。相反,如果本地时间比UTC时间慢,例如夏威夷的时间比UTC时间慢10小时,就会写作UTC-10,俗称西10区。
2、如何确认UNIX时间
任一时间求UNIX时间,需要知道时间所处时区时差,加减时区时差转换为相应的UTC时间,而后减去UTC时间1970年01月01日00时00分00秒,得到以秒为单位的时间差,即为UNIX时间。