长风破浪会有时,直挂云帆济沧海。 —— 李白《行路难》

时间戳与日期互转

时间戳 ↔ 日期 / 多时区 / 批量转换

点击星星评分
当前时间戳(秒):1705293000
毫秒:1705293000000
2024-01-15 12:30:00

时间戳转日期

批量时间戳转日期

输入(每行一个时间戳)
转换结果

10位与13位时间戳对照表

类型位数含义示例
秒级时间戳10 位自 1970-01-01 00:00:00 UTC 起的总秒数1705293000
毫秒级时间戳13 位自 1970-01-01 00:00:00 UTC 起的总毫秒数1705293000000

两者相差 1000 倍,单位搞反会让转换结果偏离几十年。本工具输入后自动识别秒/毫秒级,无需手动判断;页面顶部也同时给出当前秒级与毫秒级时间戳,点击即可复制。

什么是时间戳?

Unix时间戳是从1970年1月1日UTC零时起到现在的总秒数,又称 Epoch 时间。秒级时间戳为10位数字,毫秒级为13位数字——两者单位不同,相差1000倍,混用会导致转换结果偏差数十年。本工具自动识别秒/毫秒级,支持 40+ 时区切换。排查接口日志时可配合JSON格式化查看响应结构,如需计算日期间隔可使用日期计算器,按格式展示日期可用日期格式化工具

各编程语言时间戳处理

JavaScript/Node.js:Date.now() 获取毫秒时间戳,new Date(ts) 转日期;Python:int(time.time()) 获取秒级、datetime.fromtimestamp(ts) 转日期;Java:System.currentTimeMillis()/1000 获取秒级、new Date(ts*1000L) 转日期;PHP:time() 获取秒级、date('Y-m-d H:i:s', ts) 转日期;Go:time.Now().Unix() 获取秒级、time.Unix(ts, 0) 转日期。不同语言的默认时间戳精度(秒/毫秒)和时区处理方式不同,开发联调时可使用本工具验证各语言的时间戳转换结果是否一致。

如何使用时间戳转换

时间戳转日期:在输入框中粘贴 10 位或 13 位时间戳,选择目标时区,点击"转换"即可查看对应日期、星期和 UTC 时间。贴心功能:页面顶部实时显示当前秒/毫秒时间戳,点击即可一键复制。批量转换:切换到批量模式,每行输入一个时间戳,可一次将多个日志或数据库中的时间戳转换为可读日期。日期转时间戳:如需反向转换,请使用日期转时间戳工具

时间戳转换常见问题

秒级和毫秒级时间戳有什么区别(10位 vs 13位)?

秒级时间戳为 10 位数字,从 1970-01-01 00:00:00 UTC 起的总秒数;毫秒级为 13 位数字,总毫秒数。不同编程语言默认输出级别不同(如前端的 Date.now() 返回毫秒,部分后端语言默认返回秒)。本工具自动识别输入是秒还是毫秒,无需手动判断。

如何判断一个时间戳是秒级还是毫秒级?

常规判断:10 位数字为秒级(对应 1970 年至 2286 年),13 位数字为毫秒级。如果时间戳很大判断不准,可直接输入本工具尝试转换——工具会自动识别并给出正确结果。若转换出的日期偏离当前年份几十年,大概率是秒/毫秒单位搞反了。

时间戳和时区有关系吗?

Unix 时间戳本身不含时区信息,永远是相对于 UTC 零时区的秒数。同一个时间戳在不同时区对应不同的本地时间。本工具支持切换 40+ 时区查看转换结果,请根据数据来源选择对应时区。

2038年问题是什么?

32 位系统上 Unix 时间戳最大只能到 2147483647,对应 2038-01-19 03:14:07 UTC。超过此值会溢出变为负数或 1901 年。现代 64 位系统已无此问题,但嵌入式设备或旧数据库(MySQL 5.x INT)仍需注意。本工具支持 64 位时间戳,无 2038 限制。

时间戳转换工具安全吗?数据会泄露吗?

安全,所有转换操作均在浏览器本地完成,使用 JavaScript 标准 API,输入的数据不会上传到任何服务器。切换时区、批量转换等操作也仅在前端处理。

MySQL/Java/Python 中的时间戳怎么转换?

MySQL:FROM_UNIXTIME(ts) 转日期、UNIX_TIMESTAMP() 获取当前时间戳;Java:new Date(ts*1000L) 转日期、System.currentTimeMillis()/1000 获取秒级;Python:datetime.fromtimestamp(ts) 转日期、int(time.time()) 获取时间戳。各语言API默认精度不同,先用本工具验证转换结果是否正确。

时间戳转出的日期不对怎么办?

常见原因:秒/毫秒单位搞反(检查位数),时区选择不对(确认数据来源时区),时间戳本身就是错误的。建议先用本工具的"当前时间戳"功能获取正确时间戳对照验证,批量转换时逐行检查输入格式是否正确。

时间戳怎么转成北京时间?

本工具内置"北京/上海"时区(UTC+8),在时间戳转日期时把时区切到"北京/上海",结果即按北京时间显示;批量转换面板同样可选该时区。若原始数据来自其他时区,先确认来源时区再切换,避免差 8 小时。

时间戳怎么转成 ISO 8601 或 RFC 2822 格式?

同一时间戳可表达为多种标准格式:ISO 8601 形如 2024-01-15T04:30:00.000Z(UTC),RFC 2822 形如 Mon, 15 Jan 2024 04:30:00 UTC。两者都是跨语言、跨系统通用的日期表示,本工具在转换结果中同时给出 ISO 8601 与 RFC 2822,复制即可用于日志、HTTP 头(如 Last-Modified/Expires)或接口参数。

时间戳能换算成"相对时间"吗(如 3 天前)?

"相对时间"是相对于当前时刻的表达,需先转成日期再与现在对比。本工具给出精确的日期、星期、UTC、ISO 8601 与 RFC 2822,配合页面顶部实时当前时间戳即可心算相对差;若要做"xx 秒前/天前"的展示,前端可用 Date.now() 减去该时间戳再格式化,JS/Python 等代码片段可参考本页"各语言时间戳处理"一节。

日期转时间戳(本页直接转换)

常用日期 ↔ 时间戳对照表

日期(北京时间)秒级时间戳毫秒级时间戳
2024-01-01 00:00:0017040384001704038400000
2025-01-01 00:00:0017356608001735660800000
2026-01-01 00:00:0017671968001767196800000
2026-07-19 00:00:0017843904001784390400000
2030-01-01 00:00:0018934272001893427200000

表格为北京时间(UTC+8)零点对应的时间戳,便于日志与数据库快速对照;如需其他时区或任意时刻,使用上方"时间戳转日期"或"日期转时间戳"输入即可。

各语言时间戳处理代码片段

不同语言的默认精度与 API 不同,下面是获取与转换时间戳的常用写法,点击"复制"即可粘贴到项目:

JavaScript
// 时间戳(毫秒) → 日期
const d = new Date(1705293000000);
console.log(d.toISOString());
// 日期 → 秒级时间戳
Math.floor(Date.now() / 1000);
Python
from datetime import datetime, timezone
# 时间戳(秒) → 日期
d = datetime.fromtimestamp(1705293000)
print(d.isoformat())
# 日期 → 秒级时间戳
import time
int(time.time())
Java
// 时间戳(毫秒) → 日期
java.util.Date d = new java.util.Date(1705293000000L);
System.out.println(d.toInstant());
// 当前秒级时间戳
long ts = System.currentTimeMillis() / 1000;
Go
import "time"
// 时间戳(秒) → 日期
t := time.Unix(1705293000, 0)
fmt.Println(t.Format(time.RFC3339))
// 当前秒级时间戳
int64(time.Now().Unix())
C#
// 时间戳(秒) → 日期
var dt = DateTimeOffset.FromUnixTimeSeconds(1705293000);
Console.WriteLine(dt.ToString("o"));
// 当前秒级时间戳
DateTimeOffset.Now.ToUnixTimeSeconds();