SimpleDateFormat 是 Java 中用于格式化和解析日期时间的类,属于 java.text 包。它允许你将日期对象(Date)转换为特定格式的字符串,或者将格式化的日期字符串解析回日期对象。
基本用法
1. 创建 SimpleDateFormat 对象
要使用 SimpleDateFormat,首先需要创建一个实例并指定日期格式模式:
实例
输出结果为:
当前时间: 2025-05-01 11:35:07
2. 常用格式模式符号
以下是常用的格式模式符号:
日期格式化
将 Date 对象格式化为字符串:
日期解析
将格式化的日期字符串解析为 Date 对象:
注意:解析时可能会抛出 ParseException,需要进行异常处理。
线程安全性问题
SimpleDateFormat 不是线程安全的。如果在多线程环境中共享同一个 SimpleDateFormat 实例,可能会导致问题。解决方案:
1.每次使用时创建新的实例(性能较低)
2.使用 ThreadLocal 为每个线程保存一个实例
3.使用 Java 8 的 DateTimeFormatter(推荐)
Java 8 替代方案
在 Java 8 及更高版本中,推荐使用 java.time 包中的类:
DateTimeFormatter 是线程安全的,性能更好,推荐在新项目中使用。
总结
1.SimpleDateFormat 用于日期格式化和解析
2.通过模式字符串指定日期格式
3.不是线程安全的,需要注意多线程环境下的使用
4.Java 8 及以上版本推荐使用 DateTimeFormatter
通过掌握 SimpleDateFormat,你可以在 Java 程序中灵活地处理各种日期时间格式的转换需求。
以下是 java.text.SimpleDateFormat 类的常用方法:
构造方法
常用格式模式符号
核心方法