【simpledateformat用法】在Java开发中,`SimpleDateFormat` 是一个常用的日期格式化类,用于将日期对象转换为字符串,或把字符串解析为日期对象。它属于 `java.text` 包,是处理日期格式化和解析的常用工具。
以下是对 `SimpleDateFormat` 的基本用法进行总结,并通过表格形式展示其常见格式符号及其含义。
一、基本用法说明
`SimpleDateFormat` 的使用主要包括两个方面:
1. 日期格式化(Date to String):将 `Date` 对象按照指定格式转换为字符串。
2. 日期解析(String to Date):将符合特定格式的字符串转换为 `Date` 对象。
使用方式如下:
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sdf.format(new Date()); // 格式化当前日期
Date date = sdf.parse(dateStr); // 解析字符串为日期
```
二、常用格式符号表
| 符号 | 含义 | 示例 |
| y | 年 | 2024, 23 |
| M | 月 | 01, 12 |
| d | 日 | 05, 31 |
| H | 小时(24小时制) | 00, 13, 23 |
| h | 小时(12小时制) | 01, 12 |
| m | 分钟 | 05, 59 |
| s | 秒 | 07, 59 |
| S | 毫秒 | 001, 999 |
| E | 星期几 | 周一, Monday |
| a | 上午/下午标记 | AM, PM |
| z | 时区 | GMT+8, CST |
三、注意事项
- `SimpleDateFormat` 不是线程安全的,多线程环境下建议使用 `DateTimeFormatter`(Java 8 及以上版本)。
- 如果格式不匹配,`parse()` 方法会抛出 `ParseException` 异常。
- 使用自定义格式时,注意大小写区分,如 `MM` 表示月份,`mm` 表示分钟。
四、示例代码
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateExample {
public static void main(String[] args) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = sdf.format(new Date());
System.out.println("当前时间: " + now);
String dateStr = "2024-05-01 14:30:00";
Date parsedDate = sdf.parse(dateStr);
System.out.println("解析后的日期: " + parsedDate);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
五、总结
`SimpleDateFormat` 是 Java 中处理日期格式的重要类,掌握其基本用法和格式符号能有效提升开发效率。虽然在新版本中推荐使用 `java.time` 包中的类,但在旧项目中仍广泛使用。合理使用该类可以避免很多常见的日期处理问题。


