使用SimpleDateFormat或DateTimeFormatter将字符串转为日期,需格式匹配。SimpleDateFormat适用于旧版本,非线程安全;DateTimeFormatter(Java 8+)推荐用于新项目,线程安全,支持LocalDate、LocalDateTime等类型,格式模式如yyyy-MM-dd对应2025-05-10。
在Java中将字符串转换为日期对象,通常使用 SimpleDateFormat 类或更推荐的 DateTimeFormatter(Java 8+)来完成。关键在于确保字符串格式与指定的日期格式完全匹配。
适用于 Java 7 及更早版本,操作简单但不是线程安全的。
示例:
String dateString = "2025-05-10";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = formatter.parse(dateString);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
Java 8 引入了新的时间 API,位于 java.time 包下,更加清晰、安全且易于使用。
示例:转换为 LocalDate
String dateString = "2025-05-10";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate date = LocalDate.parse(dateString, formatter);
System.out.println(date);
String dateTimeString = "2025-05-10 14:30:00";
D
ateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(dateTimeString, formatter);
System.out.println(dateTime);
定义格式时需注意以下符号: