Unix 时间戳转换
代码示例
// 获取当前时间戳
new Date(时间戳转日期).toLocaleString()import time
time.time() # 获取当前时间戳
time.ctime(1800000000) # 时间戳转日期import "time"
time.Now().Unix() // 获取当前时间戳
time.Unix(1800000000, 0).String()# 获取当前时间戳
date +%s
# 时间戳转日期
date -d @1800000000Unix 时间戳是自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的秒数(不计闰秒)。大多数 Unix 系统将时间戳存储为 32 位有符号整数,在 2038 年 1 月 19 日会发生溢出(2038 年问题)。
免费在线 Unix 时间戳转换工具,支持秒/毫秒/微秒双向互转,自动识别时间戳单位,UTC与本地时区一键切换,内置多语言代码示例,打开即用适合开发调试和日志排查。
相关推荐
什么是 Unix 时间戳?
Unix 时间戳(Unix Timestamp),也叫 Epoch Time、POSIX Time,是一种用数字表示时间的方式:从协调世界时(UTC)1970年1月1日 00:00:00 起到某一时刻所经过的总秒数(不计算闰秒)。起点 1970-01-01 00:00:00 UTC 被称为「Unix 纪元」(Unix Epoch),此时的时间戳为0。
时间戳的最大优点是与时区无关——同一时刻在全球任何地方生成的时间戳都是同一个数字,不存在时区转换问题。因此它被广泛应用于:数据库记录的创建/更新时间、分布式系统的日志追踪(Trace/Span时间)、API接口的时间参数、JWT Token的过期时间、缓存的过期时间(TTL)、文件系统的修改时间等。
不同编程语言和系统对时间戳精度处理不同:C/Unix/Python默认使用秒级(10位),JavaScript/Java使用毫秒级(13位),部分高精度系统(如金融交易、科学计算)使用微秒级(16位)甚至纳秒级(19位)。本工具覆盖最常用的秒、毫秒、微秒三种精度。
适用场景
- 开发调试时将日志中的时间戳转换为可读日期时间,快速定位问题发生时刻
- 接口联调时对照请求/响应中的时间戳字段,确认时间是否正确传递
- 数据库查询时将业务时间转换为时间戳,用于SQL时间范围条件
- 服务器运维时对比UTC时间戳与本地时间,排查跨时区部署的时间相关问题
- 编写脚本时快速复制各语言获取时间戳的代码片段,无需查阅文档
- 将历史日期(1970年前)或未来日期转为时间戳,用于测试边界场景
使用方法
- 页面顶部显示实时跳动的当前Unix时间戳,可直接点击复制
- 要将时间戳转为日期:在「时间戳→日期」标签页输入时间戳,工具自动识别单位(秒/毫秒/微秒)
- 选择UTC或本地时区,转换结果即时显示,可点击复制按钮复制日期字符串
- 要将日期转为时间戳:切换到「日期→时间戳」标签页,在年/月/日/时/分/秒输入框填入目标时间
- 选择时区后秒级时间戳即时显示,一键复制用于代码或查询
功能特点
- 自动识别单位:输入时间戳自动判断是秒/毫秒/微秒,无需手动选择,粘贴即用
- 三级精度支持:秒(10位)、毫秒(13位)、微秒(16位)全覆盖,满足不同系统和语言需求
- UTC/本地时区切换:服务器日志用UTC,业务时间用本地,一键切换对照排查
- 逐字段日期输入:年/月/日/时/分/秒独立输入框,支持日期转时间戳,无需记忆日期格式
- 实时时间戳显示:页面顶部实时跳动当前秒级时间戳及UTC日期,一键复制
- 多语言代码片段:内置JavaScript/Python/Go/Bash获取和转换时间戳代码,一键复制
- 支持负数时间戳:可转换1920年至2100年范围内的任意日期,覆盖历史和未来时间
- 纯前端计算:所有转换在浏览器本地完成,时间戳不上传服务器,安全可靠
代码示例
JavaScript 获取和转换时间戳
javascript浏览器和Node.js中获取当前秒级/毫秒级时间戳,以及将时间戳转换为本地可读时间的常用方法。
// 获取当前秒级时间戳
const tsSec = Math.floor(Date.now() / 1000);
console.log(tsSec); // 例如 1700000000
// 获取当前毫秒级时间戳
const tsMs = Date.now();
console.log(tsMs); // 例如 1700000000000
// 秒级时间戳转本地可读时间
const date = new Date(tsSec * 1000);
console.log(date.toLocaleString('zh-CN'));
// "2023/11/15 06:13:20"
// 毫秒级时间戳转ISO格式
console.log(new Date(tsMs).toISOString());
// "2023-11-14T22:13:20.000Z"Python 时间戳处理
python使用Python标准库time和datetime模块获取和转换时间戳,处理时区转换。
import time
from datetime import datetime, timezone
# 获取当前秒级时间戳
ts = int(time.time())
print(ts) # 1700000000
# 时间戳转本地时间字符串
print(time.ctime(ts))
# 'Wed Nov 15 06:13:20 2023'
# 时间戳转格式化时间
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(ts)))
# '2023-11-15 06:13:20'
# 时间戳转UTC时间
print(datetime.fromtimestamp(ts, tz=timezone.utc))
# 2023-11-14 22:13:20+00:00Linux/macOS 命令行操作时间戳
bash在Shell中获取当前时间戳和转换时间戳的常用命令,注意Linux和macOS的date命令参数有差异。
# 获取当前秒级时间戳(Linux/macOS通用) date +%s # 时间戳转日期(Linux GNU date) date -d @1700000000 # "Wed Nov 15 06:13:20 CST 2023" # 时间戳转日期(macOS BSD date) date -r 1700000000 # 时间戳转UTC日期(Linux) date -u -d @1700000000 # "Tue Nov 14 22:13:20 UTC 2023" # 指定格式输出 date -d @1700000000 '+%Y-%m-%d %H:%M:%S'
常见问题
什么是 Unix 时间戳?
Unix 时间戳(Unix Timestamp,又称 Epoch Time、POSIX Time)是从协调世界时(UTC)1970年1月1日00:00:00起至某一时刻的总秒数(不考虑闰秒)。例如 1700000000 对应 2023-11-14 22:13:20 UTC。它不受时区影响,在全球任何地方生成的同一时刻的时间戳都是相同的,因此被广泛用于跨系统时间记录、日志追踪、接口传参和数据库存储。
秒级、毫秒级、微秒级时间戳怎么区分?
按位数区分:10位数字是秒级(精度到秒,如1700000000),13位数字是毫秒级(精度到千分之一秒,如1700000000000),16位数字是微秒级(精度到百万分之一秒,如1700000000000000)。本工具会自动识别你输入的时间戳位数,无需手动选择单位——输入后即可自动判断并转换。如果你粘贴的时间戳前后有空格,工具也会自动修剪后正确识别。
为什么日志里的时间戳和本地时间差了8小时?
这是因为 Unix 时间戳本身是UTC时区的,而中国使用UTC+8时区。如果直接按本地时区解析UTC时间戳,就会产生时差。本工具提供UTC和本地时区两种切换选项:排查服务器日志(通常用UTC)时选UTC,看本地业务时间时选本地时区,一键切换对照。
JavaScript 中如何获取和转换时间戳?
获取当前秒级时间戳用 `Math.floor(Date.now() / 1000)`,毫秒级用 `Date.now()`;将时间戳转可读时间用 `new Date(ts * 1000).toLocaleString()`(秒级需乘1000,毫秒级直接传入)。工具页面底部内置了JavaScript、Python、Go、Bash等常用语言的代码片段,可直接复制使用。
时间戳可以是负数吗?代表什么?
可以。负数时间戳表示1970年1月1日之前的时间,例如 -1 对应 1969-12-31 23:59:59 UTC。本工具支持输入负数时间戳,转换范围覆盖1920年到2100年,满足历史日期和未来日期的转换需求。
2038年问题是什么?会影响使用吗?
2038年问题(Year 2038 Problem)指使用32位有符号整数存储秒级时间戳的系统,在2038年1月19日03:14:07 UTC后会溢出导致时间变为负数,引发系统错误。现代系统已普遍使用64位整数(可表示到2920亿年后),JavaScript使用64位浮点数存储时间戳(精确到毫秒可安全表示到285616年),本工具在浏览器中运行,不受2038年问题影响。
为什么在线转换比命令行更方便?
命令行(如Linux的date命令)需要记住参数格式,跨平台参数不一致(macOS的date和Linux的date参数差异很大)。本工具打开即用,自动识别单位,提供可视化日期输入框(年/月/日/时/分/秒逐字段输入,无需记忆日期格式),支持时区一键切换,还内置多语言代码示例,在浏览器中即可完成转换,无需切换终端。
术语表
- Unix 时间戳
- 从UTC 1970年1月1日00:00:00起经过的秒数,10位数字,与时区无关,全球统一。
- Epoch Time
- Unix时间戳的别名,指从Unix纪元(1970-01-01 UTC)起算的时间。
- 秒级时间戳
- 精度到秒的时间戳,10位数字(如1700000000),是Unix/Python/C等语言的默认精度。
- 毫秒级时间戳
- 精度到千分之一秒的时间戳,13位数字(如1700000000000),JavaScript/Java的默认精度。
- 微秒级时间戳
- 精度到百万分之一秒的时间戳,16位数字(如1700000000000000),用于高精度系统。
- UTC
- 协调世界时(Coordinated Universal Time),全球时间标准,是时区计算的基准,与格林威治标准时间(GMT)基本一致。
- 时区偏移
- 本地时间与UTC的差值,如中国北京时间是UTC+8(比UTC快8小时),美国东部是UTC-5(标准时间)。
- ISO 8601
- 国际标准化组织的日期时间表示格式,如2024-01-15T08:30:00+08:00,是API传参的标准格式。
- 2038年问题
- 32位有符号整数存储秒级时间戳在2038年1月19日溢出的问题,64位系统和JavaScript不受影响。
常用时间单位换算表
| 时间单位 | 秒数 | 举例说明 |
|---|---|---|
| 1分钟 | 60 | 短时间缓存、接口超时 |
| 1小时 | 3,600 | Token短期有效期、会话超时 |
| 1天 | 86,400 | 每日统计、日报数据 |
| 1周 | 604,800 | 周报周期、Cookie有效期 |
| 1个月(30.44天) | 2,629,743 | 月度统计、订阅计费周期 |
| 1年(365.24天) | 31,556,926 | 年度数据、JWT长期Token |
各编程语言时间戳获取与转换
| 语言 | 获取当前时间戳(秒) | 时间戳转可读时间 |
|---|---|---|
| JavaScript | Math.floor(Date.now()/1000) | new Date(ts*1000).toLocaleString() |
| Python | import time; int(time.time()) | import time; time.ctime(ts) |
| Java | System.currentTimeMillis()/1000 | new Date(ts*1000L).toString() |
| Go | time.Now().Unix() | time.Unix(ts, 0).String() |
| PHP | time() | date('Y-m-d H:i:s', ts) |
| MySQL | SELECT UNIX_TIMESTAMP() | SELECT FROM_UNIXTIME(ts) |
| Bash (Linux) | date +%s | date -d @ts |
| Bash (macOS) | date +%s | date -r ts |
Authoritative References
- WikipediaUnix 时间 - 维基百科
- IETFRFC 3339 - 日期和时间格式
- ISOISO 8601 日期时间标准
- 色盲模拟器
- 颜色转换器
- .htaccess 转 Nginx 转换器
- SQL 转换器
- Cookie 解析器
- Cron 表达式工作台
- Cron 表达式验证器
- CSS 格式化
- CSS 压缩
- CSV 转 Excel
- CSV Viewer
- CSV Editor
- 货币转换器
- 差异检查器
- Excel to CSV
- 网站图标生成器
- CSS Formatter
- HTML Formatter
- Markdown Formatter
- XML 格式
- 十六进制转换器
- HTML 格式
- HTML 压缩
- HTML 转 Markdown
- Markdown 转 HTML
- JavaScript 格式化
- JS 压缩
- JSX 格式化工具
- JSX 压缩
- 关键词聚类
- Lorem Ipsum 生成器
- Markdown 表格生成器
- Meta Tag 生成器
- 密码生成器
- 密码强度检测工具
- 二维码/条形码生成器
- 正则表达式测试器
- Slug 生成器
- SQL 生成器
- SQL 格式化工具
- 字数统计
- 时间工具
- TS 格式
- TS 压缩
- TSX 格式化
- TSX 压缩
- Unix 时间戳转换
- UUID 生成器
- YAML 格式化
- 大小写命名风格转换器