news 2026/7/14 22:22:48

Java常用的日期和时间格式化转换符

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java常用的日期和时间格式化转换符

Java 中常用的日期和时间格式化转换符大全

Java 中日期和时间的格式化主要通过以下两个类实现:

  • 旧 API(Java 8 之前):java.text.SimpleDateFormat
  • 新 API(Java 8+ 推荐):java.time.format.DateTimeFormatter

两者使用的格式化转换符(pattern letters)基本相同,下面是常用转换符的详细表格。

常用转换符表格(按字母排序)
转换符含义示例输出(假设日期:2026-01-06 14:30:25,周二)说明
G纪元(Era)AD公元前/后
y年(年份)2026(yy → 26)yy 为两位年份
Y周所在年(Week year)2026很少用
M月份01(MM)
1(M)
January(MMMM)
Jan(MMM)
M 个数决定显示方式
L独立月份(Stand-alone month)与 M 类似,但用于某些语言的独立形式很少用
d月中天(Day of month)06(dd)
6(d)
D年中天(Day of year)0061月1日为001
E星期(Day of week)Tuesday(EEEE)
Tue(EEE)
E 个数决定长短
u周中天数字(1=周一)2ISO 标准
a上/下午标记PM
H24小时制小时(0-23)14
k24小时制小时(1-24)14
K12小时制小时(0-11)2
h12小时制小时(1-12)2
m分钟30
s25
S毫秒000(SSS)
0(S)
S 个数决定位数
z时区(通用)GMT+08:00
Z时区(RFC 822)+0800
X时区(ISO 8601)+08
+0800(XX)
Z(X)
推荐使用
转义单引号用于输出文字,如 yyyy’年’单引号需成对 ‘’
常见格式化模式示例
模式输出示例说明
yyyy-MM-dd2026-01-06最常见的日期格式(ISO)
yyyy/MM/dd2026/01/06
yyyy年MM月dd日2026年01月06日中文常见
yyyy-MM-dd HH:mm:ss2026-01-06 14:30:25完整日期时间(24小时)
yyyy-MM-dd hh:mm:ss a2026-01-06 02:30:25 PM12小时带上下午
EEEE yyyy-MM-ddTuesday 2026-01-06带星期
yyyy-MM-dd’T’HH:mm:ss2026-01-06T14:30:25ISO 8601 基本格式
yyyy-MM-dd HH:mm:ss.SSS2026-01-06 14:30:25.000带毫秒
yyyy-MM-dd HH:mm:ss XXX2026-01-06 14:30:25 +08:00带时区(推荐)
使用示例

1. 使用 SimpleDateFormat(旧 API)

importjava.text.SimpleDateFormat;importjava.util.Date;Datedate=newDate();SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");Stringstr=sdf.format(date);System.out.println(str);// 输出:2026-01-06 14:30:25

2. 使用 DateTimeFormatter(新 API,推荐)

importjava.time.LocalDateTime;importjava.time.format.DateTimeFormatter;LocalDateTimenow=LocalDateTime.now();DateTimeFormatterformatter=DateTimeFormatter.ofPattern("yyyy年MM月dd日 EEEE HH:mm");Stringstr=now.format(formatter);System.out.println(str);// 输出:2026年01月06日 星期二 14:30
预定义格式(DateTimeFormatter 新 API 提供)

Java 8+ 的DateTimeFormatter还提供了常用预定义格式,无需手动写 pattern:

DateTimeFormatter.ISO_LOCAL_DATE// 2026-01-06DateTimeFormatter.ISO_LOCAL_TIME// 14:30:25DateTimeFormatter.ISO_LOCAL_DATE_TIME// 2026-01-06T14:30:25DateTimeFormatter.ISO_OFFSET_DATE_TIME// 2026-01-06T14:30:25+08:00DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL)// 带本地化星期等
总结建议
  • 日常开发优先使用java.time包(LocalDateTime + DateTimeFormatter),线程安全、API 更清晰。
  • 格式化字符串:最常用的是yyyy-MM-dd HH:mm:ss
  • 时区处理:推荐使用XXXX显示时区,避免歧义。
  • 中文场景:常用yyyy年MM月dd日 HH:mm:ss

掌握这些转换符,就能灵活处理 Java 中几乎所有日期时间格式化需求!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 4:47:18

AI圈炸锅了!CMU研究揭示:小模型+大数据=大模型效果?成本直接砍半!小白程序员也能玩转!

在检索增强生成中,扩大生成模型规模往往能提升准确率,但也会显著抬高推理成本与部署门槛。CMU 团队在固定提示模板、上下文组织方式与证据预算,并保持检索与解码设置不变的前提下,系统比较了生成模型规模与检索语料规模的联合效应…

作者头像 李华
网站建设 2026/7/11 12:49:22

闲鱼/转转 自动捡漏机器人 2.0:引入 OCR 文字识别,过滤“传家宝”和“仅面交”

😫 前言:为什么 1.0 版本的爬虫不管用了? 1.0 版本的爬虫逻辑很简单:搜索关键词 -> 价格低于阈值 -> 报警。 但现在的卖家越来越“鸡贼”: 文不对题:标题写得好听,关键瑕疵(屏幕碎、ID锁)全写在图片里(甚至手写在纸上)。 地域歧视:价格极低,但图片里写着“…

作者头像 李华
网站建设 2026/7/11 14:04:28

AI 技术在CRM 系统中的应用

AI 技术已经从 CRM 系统(客户关系管理)的“插件”进化为了其核心引擎。现代 CRM 不再只是一个存储客户资料的静态数据库,而是一个能够主动思考、预测并执行任务的“智能助手”。以下是 AI 技术在CRM 系统中的核心应用场景:1. 销售…

作者头像 李华
网站建设 2026/7/11 14:04:52

AVENTICS 5610141310控制器

AVENTICS 5610141310 是一款气动元件,通常用于工业自动化系统中的气动控制。该产品属于 AVENTICS(现为 Emerson 自动化解决方案的一部分)的系列产品,专为高效、可靠的气动应用设计。主要特点类型:气动阀或气动控制元件…

作者头像 李华