时间戳转换 - Unix时间戳工具
时间戳与日期时间互转,支持秒/毫秒
当前Unix时间戳(秒)
-
-
时间戳 → 日期时间
日期时间 → 时间戳
时间戳知识
什么是Unix时间戳?
从1970年1月1日00:00:00 UTC到现在的总秒数,是计算机中最常用的时间表示方式。
秒级 vs 毫秒级
秒级时间戳10位数字,毫秒级13位数字。JavaScript常用毫秒,其他语言多用秒。
时区无关
时间戳是绝对时间,与时区无关。转换为本地时间时才涉及时区。
2038年问题
32位系统在2038年1月19日将溢出。现代系统已使用64位时间戳解决此问题。
常用语言获取时间戳
JS: Date.now()、PHP: time()、Python: time.time()、Java: System.currentTimeMillis()
为什么从1970年开始?
1970年1月1日是Unix系统诞生的纪元时间,被称为"Epoch",成为计算机时间的起点。
常见问题
如何判断时间戳是秒级还是毫秒级?
看位数:10位是秒级时间戳,13位是毫秒级时间戳。例如:1704067200(秒级)和 1704067200000(毫秒级)都表示同一时刻。
时间戳为什么是负数?
负数时间戳表示1970年1月1日之前的时间。例如 -86400 表示1969年12月31日。有些系统支持负时间戳,有些不支持。
时间戳会受时区影响吗?
时间戳本身不受时区影响,它是UTC时间的秒数。但当你转换为本地时间显示时,会根据你的时区自动调整,所以同一时间戳在不同时区显示的时间不同。
什么是2038年问题?
32位有符号整数最大值是2147483647,对应时间是2038年1月19日03:14:07 UTC。超过这个时间,32位系统的时间戳会溢出变成负数。现代64位系统已解决此问题。
为什么JavaScript用毫秒时间戳?
JavaScript的Date对象使用毫秒级时间戳是为了更高精度。Date.now()返回毫秒,new Date(timestamp)也需要毫秒参数。使用秒级时间戳时需要乘以1000。
数据库存时间戳还是日期格式?
各有优劣:时间戳占用空间小、计算快、无时区问题,适合需要频繁计算的场景;日期格式可读性好、直接查询方便。建议按实际需求选择,也可两者都存。