怎么掌握 LocalDateTime 的格式化输出
作者:RiverSoul
时间:2026-07-10
浏览:0
掌握 LocalDateTime 的格式化输出,关键其实就在两件事上:用对 DateTimeFormatter,以及记牢 Pattern 字符的大小写含义。不用额外引入第三方库,Ja va 8 自带这套方案就已经足够原生、线程安全且语义清晰——这也是日常开发中绕不开的基础能力。 用对 DateTim
掌握 LocalDateTime 的格式化输出,关键其实就在两件事上:用对 DateTimeFormatter,以及记牢 Pattern 字符的大小写含义。不用额外引入第三方库,Ja va 8 自带这套方案就已经足够原生、线程安全且语义清晰——这也是日常开发中绕不开的基础能力。

用对 DateTimeFormatter 类
SimpleDateFormat 早该退休了——它既非线程安全,又容易在并发环境里搞出诡异错误。LocalDateTime 必须搭配 DateTimeFormatter 使用,这才是正确的姿势:
- 内置常量可以直接拿来就用,比如 DateTimeFormatter.ISO_LOCAL_DATE_TIME,输出效果是
2026-04-15T10:04:22,简洁又规范。 - 需要自定义格式?统一走 DateTimeFormatter.ofPattern("xxx"),比如
"yyyy-MM-dd HH:mm:ss"是最常见的日志时间模板。 - 格式器最好声明成
static final常量,避免每次调用都重新创建,性能会好很多。
记牢常用 Pattern 字符含义
大小写敏感这一条,不知道坑了多少人。几个最容易搞混的地方,务必记清楚:
- yyyy 表示四位年份(比如 2026),千万别写成大写的
YYYY——那是“周所属年”,语义完全不同,遇到跨年周容易翻车。 - MM 是两位月份(比如 04),不是
mm(那是分钟)。 - dd 是当月第几天(比如 15),而
DD是当年第几天,差远了。 - HH 是 24 小时制(例如 10 点),hh 则是 12 小时制,通常需要配合
a才能显示 AM/PM。 - mm 分钟、ss 秒、SSS 毫秒(三位),各自位置不能乱。
按场景选典型 Pattern 示例
不用死记硬背,直接按输出需求套用就好。这里列几个高频场景:
- 标准日志时间:
"yyyy-MM-dd HH:mm:ss"→ 输出 2026-04-15 10:04:22 - 中文展示:
"yyyy年MM月dd日 HH时mm分"→ 2026年04月15日 10时04分 - 文件名友好:
"yyyyMMdd_HHmmss"→ 20260415_100422 - 只取日期或只取时间:
"yyyy-MM-dd"或"HH:mm:ss" - 兼容 ISO 标准的 T 分隔符:
"yyyy-MM-dd'T'HH:mm:ss"
注意解析时也要用同一格式器
格式化是把 LocalDateTime 转成字符串,解析相反,两者必须使用同一个 Pattern,否则会抛 DateTimeParseException:
- 格式化:
localDateTime.format(formatter) - 解析:
LocalDateTime.parse("2026-04-15 10:04:22", formatter) - 如果待解析的字符串里包含毫秒或时区信息,Pattern 和输入必须严格匹配,差一个字符都不行——这一点在对接外部接口时尤其容易踩坑。
作者最新文章
微软推出Project Zenith:面向Windows 11开发者的AI硬件加速方案
2026-09-08 18:15
打破流量垄断,让平台经济释放普惠红利
2026-09-08 18:07
Arm AGI CPU详解:136核Neoverse V3,3nm双芯粒架构与AI数据中心部署
2026-09-08 17:18
Windows安装Docker教程:启用WSL2并运行第一个容器验证
2026-09-04 09:26
PDF转Word操作指南:在线与本地转换方法及格式检查
2026-09-03 16:03
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































