Unix时间戳又称Unix Epoch或POSIX时间,是工程界约定俗成的计时坐标:以1970年1月1日00:00:00 UTC这个"纪元"为零点,到目标时刻累计流过的秒数,闰秒忽略不计。因为它只是一个普通整数,比较大小、排序检索、跨时区换算都不需要额外历法知识,所以数据库存储、API接口字段、日志时间列、缓存过期策略等场合几乎都靠它标记时刻。
时间戳有两种常见精度:10位秒级,比如PHP的time()返回值;13位毫秒级,比如JavaScript的Date.now()返回值。Java与前端生态习惯毫秒,PHP、Python、MySQL则默认秒,两套体系对接时一旦混用,日期会整整偏离1000倍,这是联调中最典型的坑。把数值粘进本页输入框,工具按位数自动判别精度,省去手动换算的麻烦。
时间戳天然与时区解耦:不论服务器在东京还是纽约,同一瞬间生成的Unix时间戳完全一致,时区只是把数字"翻译"成可读时间的显示层概念。因此多时区系统的最佳实践是统一落库UTC时间戳,展示时再换算成北京时间(UTC+8)等当地时刻,从源头杜绝时区错乱。
2038年问题值得了解:老系统若用32位有符号整数存放秒级时间戳,上限止步于2038年1月19日03:14:07 UTC,再往后数值溢出变负。如今64位环境早已不受此限,但维护陈旧嵌入式设备或兼容老协议时,这个期限仍要留心。