跳到主内容
UniKit

日期格式化

日期格式字符串在线转换含模板:在 YYYY-MM-DD、YYYY/MM/DD、DD.MM.YYYY、MM/DD/YYYY、RFC 3339、Unix 秒/毫秒与 Excel 序列号之间互转,并可用 YYYY MM DD HH mm ss ddd MMM 等 token 自定义格式(含中英月份与星期名)。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

转换结果

所有换算按 UTC 进行:时间戳本身与时区无关,统一用 UTC 可以避开夏令时造成的重复或缺失小时。

转换结果

模板输出
2023-11-14 22:13:20
ISO 8601(UTC)2023-11-14T22:13:20.000Z
RFC 33392023-11-14T22:13:20+00:00
YYYY-MM-DD2023-11-14
YYYY/MM/DD2023/11/14
DD.MM.YYYY14.11.2023
MM/DD/YYYY11/14/2023
Unix 秒1700000000
Unix 毫秒1700000000000
Excel 序列号45244.925926
星期星期二
ISO 周历2023-W46-2
年内第几天318

可用 token:YYYY 四位年 · YY 两位年 · MMMM 月份全名 · MMM 月份简写 · MM 两位月 · M 月 · DD 两位日 · D 日 · dddd 星期全名 · ddd 星期简写 · dd 最简星期 · d ISO 星期序号(周一 1)· HH 24 小时 · hh 12 小时 · mm 分 · ss 秒 · SSS 毫秒 · A 上午/下午 · Z、ZZ 时区 · [文本] 原样输出

这个工具能做什么

  • 把日志、接口报文里的时间戳(1700000000、1700000000000)换算成看得懂的日期,或反过来把日期转成时间戳填进参数。
  • 对接 Excel 或 CSV 时处理序列号:45292 就是 2024-01-01,导出的表格里那些五位数字不用再手工数格子。
  • 写文档或文案时按自己的模板输出:YYYY年M月D日、ddd MMM D, YYYY、YYYY-MM-DD HH:mm:ss 都行,月份与星期名支持中英文。
  • 一眼看清同一个时刻的多种写法:ISO 8601、RFC 3339、DD.MM.YYYY、MM/DD/YYYY、Unix 秒/毫秒与 Excel 序列号同时列出,方便校对。

示例

输入

1700000000(输入类型:自动识别 → Unix 秒)

输出

ISO 8601(UTC):2023-11-14T22:13:20.000Z;RFC 3339:2023-11-14T22:13:20+00:00;YYYY-MM-DD:2023-11-14;YYYY/MM/DD:2023/11/14;DD.MM.YYYY:14.11.2023;MM/DD/YYYY:11/14/2023;Unix 秒:1700000000;Unix 毫秒:1700000000000;Excel 序列号:45244.925926;星期:星期二;ISO 周历:2023-W46-2;年内第几天:318

10 位及以内的整数按 Unix 秒解析,11–13 位按毫秒解析;Excel 序列号请选「Excel 序列号」类型,或写成 excel:45292 让自动识别处理。

常见问题

自动识别会不会把 Excel 序列号当成时间戳?

会。纯整数默认按 Unix 时间戳处理:10 位及以内当秒,11–13 位当毫秒。45292 这种五位数字会被当成 1970-01-01 12:34:52,所以要转 Excel 序列号时请在「输入类型」里选「Excel 序列号」,或直接写 excel:45292。

为什么结果都按 UTC 显示?

因为时间戳描述的本来就是一个与地点无关的瞬间,用 UTC 显示才有唯一答案;而且 UTC 没有夏令时,不会出现某个小时重复或缺失导致换算歧义。需要本地时间时,把结果里的 +00:00 换成自己的偏移即可。

Excel 的序列号 60 为什么变成 1900-02-28?

Excel 沿用了 Lotus 1-2-3 的历史 bug,认为 1900 年是闰年,于是 60 被分配给并不存在的 1900-02-29。本工具把 60 折到 1900-02-28(与 59 相同),反向转换也不会生成 60,避免出现一个日历上不存在的日期。

格式模板里能写中文吗?

可以,模板里不认识的字符会原样保留,例如 YYYY年M月D日 输出 2024年2月29日;想要百分百原样输出还可以用方括号包起来,比如 [UTC] YYYY-MM-DD。

时间戳是秒还是毫秒,怎么自己判断?

看位数:10 位(如 1700000000)是秒,13 位(如 1700000000000)是毫秒。也可以直接选「Unix 秒」或「Unix 毫秒」强制指定;两者混用时,结果里两个字段都会给出,便于核对。

关键词:date formatdate formatterdate patterntimestamp converterexcel serial numberrfc 3339strftime日期格式化日期格式转换时间戳转换excel 序列号日期模板

同类工具