时间戳转换器
将时间戳转换为日期格式或获取指定日期的时间戳。
日期与时间
获取时间戳的编程语言:
文档
文档
文档
文档
SELECT FROM_UNIXTIME(1567758868); #2019-9-6 16:34:28
文档
文档
文档
什么是时间戳?
UNIX时间或POSIX时间是UNIX或类UNIX系统使用的时间表示方式:从1970年1月1日UTC 0:0:0:0开始到现在的秒数总和,无论是否有闰秒。
2038年问题
Unix时间最早的版本是60 Hz的32位整数。1971年11月3日发布的第一版Unix程序员手册将Unix时间定义为“自1971年1月1日00:00:00以来的时间,以秒为单位”,即从00:00:00,1971年1月1日开始,以60 Hz递增。这意味着将Unix时间存储为32位无符号整数将在829天后用尽重置(约为2.5年)。由于这个限制,Unix时间原点被重新定义了几次,直到它开始使用1970年1月1日UTC 0:0:0的时间原点,定时为1Hz。由于Unix和C使用32位带符号整数来表示时间,因此这个时间跨度约为136年,在1970年之前和之后分别分为50/50。也就是说,直到2038年1月19日重置用尽。
今天大多数使用UNIX的系统都是32位的,也就是说,它们将时间类型time_t表示为32位带符号整数。因此,它可以表示136年内的秒数。表示UTC 1901年12月13日20:45:52到UTC 2038年1月19日3:14:07(二进制:01111111 11111111 11111111 11111111,0x7FFF:FFFF),下一秒二进制数将是10000000 00000000 00000000 00000000(0x8000:0000),这是一个负数,因此系统将错误地将时间解释为1901年12月13日20:45:52(可能再返回1970年)。此时,可能会出现软件问题,导致系统瘫痪。
当前的解决方案是将系统从32位转换为64位系统。在64位系统下,这个时间可以表示到292.2777702659万亿的12月4日15:30:08。