Unix 时间戳转换
实时显示当前 Unix 时间戳,支持时间戳转日期时间、日期时间转时间戳、秒/毫秒互转及多时区转换,所有计算在浏览器本地完成。
当前 Unix 时间戳
──────────
秒 (seconds)
─────────────
毫秒 (milliseconds)
时间戳 → 日期时间
输入时间戳查看转换结果。
日期时间 → 时间戳
基于浏览器本地时区换算。
在上方选择日期和时间。
这个工具有帮到你吗?
什么是 Unix 时间戳
Unix 时间戳(Unix Timestamp / Epoch Time)是指从 1970 年 1 月 1 日 00:00:00 UTC 开始到当前时间的总秒数。它是一个整数,不包含时区信息,因此在不同时区之间传递时间数据时非常可靠。几乎所有编程语言和数据库都支持时间戳,它是计算机系统中表示时间的通用方式。
时间戳的常见用途
时间戳广泛应用于日志记录、数据库存储、API 接口、缓存过期控制、文件修改时间等场景。例如,MySQL 的 UNIX_TIMESTAMP() 函数、Redis 的 TTL 过期机制、HTTP 头中的 Last-Modified 字段都使用时间戳。在处理跨时区的国际化应用时,使用时间戳存储、在显示时转换为本地时间是最佳实践。
秒级和毫秒级时间戳的区别
秒级时间戳是 10 位整数(如 1700000000),毫秒级是 13 位整数(如 1700000000000)。JavaScript 的 Date.now() 返回毫秒级,而 Python 的 time.time() 和 PHP 的 time() 返回秒级。本工具自动识别输入的时间戳位数,10 位按秒处理,13 位按毫秒处理,避免手动转换出错。
特殊时间戳参考
Unix 纪元01970-01-01 00:00:00 UTC
千禧年 (Y2K)9466848002000-01-01 00:00:00 UTC
2038 年问题21474836472038-01-19 03:14:07 UTC
3000 年325036800003000-01-01 00:00:00 UTC
各语言获取时间戳
JavaScript
Date.now() // milliseconds Math.floor(Date.now() / 1000) // seconds
Python
import time int(time.time()) # seconds
Go
time.Now().Unix() // seconds time.Now().UnixMilli() // milliseconds
PHP
time() // seconds
MySQL / SQL
SELECT UNIX_TIMESTAMP() -- seconds SELECT UNIX_TIMESTAMP() * 1000 -- milliseconds
Rust
use std::time::SystemTime; SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs()
常见问题
- 什么是 Unix 时间戳?
- Unix 时间戳(也称 Epoch Time 或 POSIX 时间)是自 1970 年 1 月 1 日 00:00:00 UTC 起经过的秒数。它是一种与时区无关的时间表示方式,广泛用于编程、数据库和 API 中。
- 时间戳是秒还是毫秒?
- Unix 时间戳通常以秒为单位(10 位数字),但 JavaScript 和许多现代 API 使用毫秒精度(13 位数字)。本工具会根据输入长度自动判断单位。
- 如何在代码中获取当前时间戳?
- JavaScript: Date.now()(毫秒)或 Math.floor(Date.now()/1000)(秒);Python: import time; int(time.time());PHP: time();MySQL: UNIX_TIMESTAMP()。
- 什么是 2038 年问题?
- 32 位系统将时间戳存为有符号整数,最大值为 2147483647,对应 2038 年 1 月 19 日。之后将溢出归零,影响老旧系统。现代 64 位系统不受此限制。
- 为什么从 1970 年 1 月 1 日开始计时?
- Unix 操作系统于 1970 年代初期开发,设计者选择该日期作为起点,称为 Unix 纪元。这一日期本身并无特殊含义,只是一个约定俗成的标准。