Unix时间戳(Unix Timestamp,也叫Unix Epoch或POSIX时间)是计算机领域最通用的时间表示方法,定义为自1970年1月1日00:00:00 UTC这一"纪元"起点到指定时刻累计经过的秒数,且不计算闰秒。由于它是一个纯粹的整数,比较、排序、跨时区计算都极为简单,因此在数据库存储、API接口、日志系统、缓存过期策略等场景中被广泛使用。
常见的时间戳有两种精度:10位秒级时间戳(如PHP的time()函数返回值)和13位毫秒级时间戳(如JavaScript的Date.now()返回值)。Java、JavaScript生态默认使用毫秒,而PHP、Python、MySQL等默认使用秒,跨语言对接时最容易踩的坑就是两者混用导致日期错乱——相差1000倍。使用本工具转换时会自动按位数识别精度,避免手动换算出错。
时间戳与时区无关:同一时刻全球任何服务器上生成的Unix时间戳完全相同,时区只是显示层面的概念。因此涉及多时区的系统中,推荐统一存储UTC时间戳,在展示层再转换为北京时间(UTC+8)等本地时间,可从根源上避免时区混乱问题。
2038年问题:早期系统用32位有符号整数存秒级时间戳,最大只能表示到2038年1月19日03:14:07 UTC,之后会溢出为负数。现代64位系统已彻底解决该问题,但在维护老旧嵌入式设备或旧协议时仍需留意。