时间日期 · Cron / 调度

日期格式化

YYYY-MM-DD/自定义占位符/多语言

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 62 次使用
自定义占位符 · 常用预设 · 中英多语言
日期
格式模板 pattern · 用占位符自由组合
格式化结果
常用预设presets · live with current date
占位符速查tokens · 点击插入模板
占位符含义当前示例
就绪 · 输入日期与模板即可实时格式化
第一节

关于本工具

About

一个常见的场景:从数据库导出 CSV,“2024-01-05”是日期,但报表要求“2024年01月05日”。手动改一列几百行,改完发现另一列格式又错了。这个工具把日期拆成年、月、日、星期等独立占位符,用户自由组合输出格式,支持中英文月份与星期名称。所有转换在浏览器本地完成,原始日期不会上传到服务器。

使用场景

跨境订单对账

义乌外贸公司跟单员小陈,每天收到欧洲客户发来的 CSV 文件,日期格式五花八门:美国用 MM/DD/YYYY,德国用 DD.MM.YYYY,日本用 YYYY年MM月DD日。ERP 系统只认 YYYY-MM-DD。手动改 200 行数据,一错就导致发货批次混乱。用本工具批量粘贴原始日期,勾选对应输入格式,一键转成标准 ISO 格式,整列粘贴回系统,对账时间从 40 分钟缩到 5 分钟。

日志文件名统一

后端运维老王维护 20 台服务器,每台日志文件名日期格式不同:有的用 20240401.log,有的用 2024-04-01.log,有的用 Apr01_2024.log。写脚本归档时,正则匹配规则要写 8 套,还老漏文件。用本工具把各种格式的日期字符串粘贴进去,选好输出格式 YYYYMMDD,批量复制结果,一行 sed 命令就能统一重命名,归档脚本从 80 行减到 15 行。

数据库迁移日期清洗

数据工程师小林把旧版 MySQL 的 datetime 字段迁移到 PostgreSQL,发现旧库日期存储格式混乱:有的字段存 '2024/04/01 10:30:00',有的存 '01-APR-2024 10:30:00',还有存时间戳的。直接导入会报格式错误。用本工具逐批测试样本,确认每种格式后,批量转换并验证一致性,再写迁移脚本。避免了全量导入报错后回滚的 2 小时等待。

多语言活动页倒计时

跨境电商运营小张要上线日本、德国、美国三个站点的双十一活动页,倒计时组件需要不同语言日期显示:日本站用「2024年11月11日(月)」,德国站用「11. November 2024」,美国站用「November 11, 2024」。开发说每个语言写一套格式化函数太麻烦。小张用本工具输入统一时间戳,分别选择 ja、de、en 语言输出,截图给开发当参考,沟通效率提升,上线提前 1 天。

会议纪要日期转农历

产品经理阿强整理年度回顾会议纪要,老板要求在日期旁标注农历节气,方便安排次年春节前后版本节奏。公历 2025-01-29 对应农历正月初一,但团队日历软件只显示公历。用本工具输入公历日期,选「农历」输出格式,批量查出春节、清明、端午等关键节点的农历日期,直接粘贴进会议纪要备注栏,老板当场确认排期。

对比矩阵

维度本工具竞品 A(在线格式化站)传统方法(手动/脚本)
隐私纯浏览器处理,输入文本不离开本地需上传到服务器,可能记录日志完全离线,但依赖个人能力
离线可用支持(页面加载后断网仍可用)必须在线完全离线
自定义占位符支持任意字符作为占位符(如 YYYY/MM/DD)多数仅支持预设格式列表需自行编码或查找文档
多语言月份/星期内置中英日韩等多语言输出少数支持英文,多语言需付费需手动翻译或编写映射表
实时预览输入即预览结果,无延迟需点击按钮或等待服务器响应无实时反馈,需执行后查看
批量处理支持一次输入多行日期,逐行格式化多数仅单条处理需编写循环脚本
第二节

使用指南

Getting Started

使用步骤

  1. 1在「日期」输入框键入或选择目标日期(如 2025-03-20),下方预览区立即显示默认格式 YYYY-MM-DD 的结果
  2. 2在「格式」输入框替换占位符(如将 YYYY 改为 YY,或插入 / 分隔符),预览区同步更新格式后的日期字符串
  3. 3点「语言」下拉菜单切换月份/星期名称的语言(中文/英文/日文等),预览区对应调整显示内容
  4. 4点击预览区右侧的「复制」按钮,当前格式结果即存入剪贴板,页面出现短暂「已复制」提示

输入输出示例

输入输出说明
2024-03-15T14:30:00.000Z2024-03-15常规:ISO 8601 标准格式输入,验证基本日期提取功能
2024/03/152024-03-15常规:斜杠分隔符输入,验证自动识别并转换为连字符格式
2024-2-32024-02-03边界:单数月/日补零处理,验证自动补全为两位数
2024-13-01无效日期:月份超出范围边界:非法月份(13月),验证错误提示机制
2024-00-01无效日期:月份不能为0边界:月份零值,验证边界值检测
2024-02-30无效日期:2月没有30日易错:闰年/非闰年2月天数差异,验证日期有效性校验
2023-02-29无效日期:2023年不是闰年,2月没有29日易错:非闰年2月29日,验证闰年逻辑判断
2024-02-292024-02-29易错:闰年2月29日,验证闰年正确识别

常见错误对照

1.月份或日期未补零,导致输出格式不统一

✗ 错误输入 2024-5-4,期望 YYYY-MM-DD 输出 2024-5-4
✓ 修复输入 2024-05-04,输出 2024-05-04

YYYY-MM-DD 标准要求月份和日期各占两位,缺零会导致输出不符合 ISO 8601 规范,后续排序或解析可能出错。

2.混淆 YYYY 与 yyyy,导致跨年周日期错误

✗ 错误输入 2024-12-30,用 YYYY-MM-dd 格式输出 2025-12-30
✓ 修复用 yyyy-MM-dd 输出 2024-12-30

YYYY 是 ISO 周年份,用于计算所属周;yyyy 是公历年份。跨年周(如 2024-12-30 属于 2025 年第 1 周)时 YYYY 会显示下一年份。

3.占位符大小写混淆,输出错误含义

✗ 错误用 MM 表示分钟,输入 14:30 期望输出 14:30 但得到 14:00
✓ 修复用 mm 表示分钟,HH:mm:ss → 14:30:00

Java / JavaScript 等语言中,MM 是月份(01-12),mm 是分钟(00-59)。大小写错误会导致月份与分钟互换,数据完全错位。

4.分隔符使用不当,导致日期被误解为其他格式

✗ 错误用 2024/05/04 作为输入,期望输出 2024-05-04
✓ 修复输入 2024-05-04 或 20240504

多数日期解析器默认接受连字符或纯数字,斜杠可能被识别为美国格式(月/日/年),导致 05/04/2024 被解析为 5 月 4 日而非 4 月 5 日。

5.忽略时区,导致 UTC 与本地时间差一天

✗ 错误输入 2024-01-01T00:00:00Z,输出 2024-01-01 但实际本地是 2023-12-31
✓ 修复先指定时区偏移,如 +08:00 或 Asia/Shanghai

UTC 时间与本地时间可能相差数小时,若工具默认按 UTC 处理,未转换时区会导致日期偏移一天,尤其在跨日边界时。

6.使用非标准占位符,工具无法识别

✗ 错误用 D 表示日期(期望输出 04),用 Y 表示年份(期望输出 2024)
✓ 修复用 dd 表示日期,yyyy 表示年份

不同语言/库的占位符规范各异(如 Java 用 dd,Python 用 %d),随意使用 D/Y 等无标准定义字符会导致解析失败或输出原字符。

7.输入日期超出有效范围,工具返回错误或静默修正

✗ 错误输入 2024-02-30,期望输出 2024-02-30
✓ 修复输入 2024-02-29(闰年)或 2024-03-01

2 月最多 29 天(闰年),30 日不存在。部分工具会静默进位到 3 月 1 日,导致用户以为输入正确但实际已改变。

第三节

工作原理

How It Works

核心公式

格式化日期 = 日期对象 → 按模板替换占位符

变量说明

  • 日期对象输入的日期时间,如 2025-04-07
  • 模板含占位符的字符串,如 YYYY-MM-DD
  • 占位符代表日期部分的符号,如 YYYY 年

示例

输入日期 2025-04-07,模板 YYYY年MM月DD日:替换 YYYY→2025,MM→04,DD→07,输出 2025年04月07日。

日期格式化 · 浏览器端数据流原始日期2025-04-01T15:30:00拆解元素年 / 月 / 日时 / 分 / 秒按模板重组YYYY → 2025MM → 04输出文本支持自定义占位符(YYYY / MM / DD / HH / mm / ss)多语言月份 / 星期名称由浏览器 Intl API 本地生成全部在浏览器内完成,无网络请求,数据不出本地实现方式:FE(纯浏览器 JavaScript)
输入 / 输出 解析处理 格式化重组
第四节

开发者集成

For Developers

5 种主流语言实现,复制即用:

from datetime import datetime # 当前时间格式化为 YYYY-MM-DD print(datetime.now().strftime('%Y-%m-%d')) # 例: 2025-03-28 # 自定义占位符:用中文分隔 print(datetime.now().strftime('%Y年%m月%d日')) # 例: 2025年03月28日 # 多语言:英文月份缩写 print(datetime.now().strftime('%d %b %Y')) # 例: 28 Mar 2025
// 当前时间格式化为 YYYY-MM-DD const now = new Date(); const yyyy = now.getFullYear(); const mm = String(now.getMonth() + 1).padStart(2, '0'); const dd = String(now.getDate()).padStart(2, '0'); console.log(`${yyyy}-${mm}-${dd}`); // 例: 2025-03-28 // 自定义占位符:斜杠分隔 console.log(`${yyyy}/${mm}/${dd}`); // 例: 2025/03/28 // 多语言:使用 Intl 输出中文日期 console.log(new Intl.DateTimeFormat('zh-CN', { year: 'numeric', month: 'long', day: 'numeric' }).format(now)); // 例: 2025年3月28日
package main import ( "fmt" "time" ) func main() { now := time.Now() // YYYY-MM-DD(Go 的参考时间 2006-01-02) fmt.Println(now.Format("2006-01-02")) // 例: 2025-03-28 // 自定义占位符:中文 fmt.Println(now.Format("2006年01月02日")) // 例: 2025年03月28日 // 多语言:英文月份 fmt.Println(now.Format("02 Jan 2006")) // 例: 28 Mar 2025 }
#!/bin/bash # YYYY-MM-DD echo $(date '+%Y-%m-%d') # 例: 2025-03-28 # 自定义占位符:点分隔 echo $(date '+%Y.%m.%d') # 例: 2025.03.28 # 多语言:英文星期缩写(系统 locale 需为 en_US) echo $(date '+%a, %d %b %Y') # 例: Fri, 28 Mar 2025
import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class DateFormatDemo { public static void main(String[] args) { LocalDate now = LocalDate.now(); // YYYY-MM-DD System.out.println(now.format(DateTimeFormatter.ISO_LOCAL_DATE)); // 例: 2025-03-28 // 自定义占位符:中文 DateTimeFormatter cnFmt = DateTimeFormatter.ofPattern("yyyy年MM月dd日"); System.out.println(now.format(cnFmt)); // 例: 2025年03月28日 // 多语言:英文缩写(需指定 Locale) DateTimeFormatter enFmt = DateTimeFormatter.ofPattern("dd MMM yyyy", java.util.Locale.US); System.out.println(now.format(enFmt)); // 例: 28 Mar 2025 } }
第五节

常见问题

Q & A
我有一堆日期是 2024/01/05 这种斜杠格式,能不能批量转成 20240105?

本工具每次处理一个日期,不支持批量转换。如果需要批量处理,可以把数据放到 Excel 或编辑器里用正则替换,或者找专门的批量日期处理脚本。单次操作时,在输入框粘贴一条日期,自定义占位符里写 YYYYMMDD 就能输出 20240105 这种无分隔格式。

为什么我输入 2024-1-5 转出来是 2024-01-05,但我不想补零怎么办?

本工具默认按标准占位符 YYYY-MM-DD 输出,月份和日期自动补零到两位。如果不需要补零,自定义占位符时用 YYYY-M-D 即可,工具会保留原始位数输出,例如 2024-1-5 转成 2024-1-5。注意输入格式本身必须是有效日期,否则会提示错误。

支持农历日期转公历吗?比如把腊月廿三转成 2024-01-24?

不支持。本工具只处理公历(阳历)日期格式化,没有农历换算功能。如果需要农历转公历,需要找专门的农历转换工具或接口。本工具输入框只识别公历日期,比如 2024-01-24 或 01/24/2024,不识别腊月廿三这种农历表述。

为什么我输入 2024-02-30 它不报错,直接输出 2024-02-30?这不存在的日期啊!

本工具只做格式化,不做日期有效性校验。输入 2024-02-30 会被当作字符串直接按占位符重组输出,不检查 2 月有没有 30 号。如果希望先校验再格式化,建议先用其他工具验证日期有效性,或者输入时确保日期是真实存在的(如 2024-02-29 是闰年合法日期)。

我想把 2024-01-01 12:30:00 转成 2024年1月1日 这个格式,但工具只转了日期,时间没了?

本工具只处理日期部分,不处理时间。输入框接受带时间的完整字符串(如 2024-01-01 12:30:00),但工具会自动忽略时间部分,只提取日期。自定义占位符里写 YYYY年M月D日,输出就是 2024年1月1日。如果需要同时保留时间,可以分两步:先用本工具格式化日期,再手动拼接时间字符串。

工具页面是纯前端实现的吗?我的日期数据会不会被上传到服务器?

完全在浏览器本地运行,所有日期处理都在你电脑上完成,不会上传任何数据到服务器。即使断开网络,页面加载后也能正常使用。适合处理包含敏感信息的日期(如身份证中的出生日期、合同日期等),不用担心数据泄露。

能不能把英文月份转成中文,比如 January 1, 2024 转成 2024年1月1日?

支持。输入框可以识别英文月份名称(January/Jan、February/Feb 等),工具会自动解析为公历日期。自定义占位符里写 YYYY年M月D日,输出就是中文格式。注意英文月份必须完整或标准缩写(Jan/Feb/Mar...),不识别 Febr 这种拼写错误。

我想把 20240105 这种纯数字日期转成 2024-01-05,但工具提示格式错误怎么办?

纯数字日期(如 20240105)不是标准日期格式,工具无法自动识别。需要先在输入框里手动加分隔符,变成 2024-01-05 或 2024/01/05 这种标准格式,再选择或自定义输出格式。如果数据量大,建议先用文本编辑器替换功能插入分隔符。

为什么工具输出的日期比 Windows 系统时间晚了一天?

本工具依赖浏览器从系统获取的当前日期,不依赖网络时间。如果系统时间设置错误(比如时区不对、日期手动调过),工具输出的就是那个错误日期。可以检查电脑右下角系统时间是否正确,或者手动输入一个已知正确的日期来测试工具是否正常工作。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭