news 2026/6/10 22:37:05

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/6/10 12:54:25

RMP-121D电源继电器

RMP-121D 电源继电器概述类型:电源继电器 / 通用工业继电器功能:通过控制端的低电压信号,控制电源线路的通断,实现负载的开关控制用途:广泛用于自动化控制、电源切换、保护电路及设备控制主要功能电源控制接收控制信号…

作者头像 李华
网站建设 2026/6/10 12:53:19

1769-L35E控制器

1769-L35E 控制器概述系列:Allen-Bradley MicroLogix 1500类型:紧凑型可编程逻辑控制器(PLC)功能:执行逻辑控制、定时、计数、数据处理和通讯任务应用:适合中小型自动化系统、机器控制和过程控制主要功能逻…

作者头像 李华
网站建设 2026/6/10 14:09:36

C4410590NOUI电源模块

C4410590NOUI 电源模块概述类型:工业控制电源模块功能:为控制系统及其扩展模块提供稳定的直流或交流电源应用:PLC、控制器、继电器板、传感器等工业自动化设备供电主要功能稳压供电将交流电(AC)或不稳定直流电源转换为…

作者头像 李华
网站建设 2026/6/10 14:09:55

Python在天文数据处理中的革命:PB级观测数据的实时分析

Python在天文数据处理中的革命:PB级观测数据的实时分析摘要随着现代天文观测技术的飞速发展,天文数据正以前所未有的速度增长。从射电望远镜阵列到空间望远镜,每天产生的数据量已达PB(拍字节)级别。面对如此庞大的数据流,传统的天…

作者头像 李华
网站建设 2026/6/10 15:37:41

【毕业设计】机器学习基于python卷积神经网络训练形状识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华