Java函数实现字符串转换成日期的方法有哪些?
Java 中常用的将字符串转换为日期的方法有两种:SimpleDateFormat 和 DateTimeFormatter。
一、使用 SimpleDateFormat 类转换日期字符串
SimpleDateFormat 类是 Java 中日期格式化的一种实现方式,可以非常方便地将日期字符串转换为日期类型。该类可以将日期格式化为指定的模式,同时也可以将日期字符串解析为日期类型。
1. 将字符串转换为日期
首先,我们可以先定义一个日期格式的字符串和一个日期字符串:
String pattern = "yyyy-MM-dd"; String dateString = "2021-01-01";
对于日期字符串,我们可以使用 SimpleDateFormat 对象进行解析,代码如下:
SimpleDateFormat sdf = new SimpleDateFormat(pattern); Date date = sdf.parse(dateString);
其中,SimpleDateFormat(pattern) 表示将日期格式化为 pattern 格式,sdf.parse(dateString) 表示将日期字符串按照 sdf 的格式解析为 Date 类型。
2. 将日期转换为字符串
我们也可以将日期对象转换为指定格式的字符串,代码如下:
String dateFormat = sdf.format(date);
其中,sdf.format(date) 表示将 date 格式化为 sdf 的格式。
二、使用 DateTimeFormatter 类转换日期字符串
Java 8 中新增的 DateTimeFormatter 类也可以将日期字符串转换为日期类型。该类提供了更加灵活的日期格式化方式,并支持线程安全操作。
1. 将字符串转换为日期
我们可以先定义一个日期格式的字符串和一个日期字符串:
String pattern = "yyyy-MM-dd"; String dateString = "2021-01-01";
然后,创建一个 DateTimeFormatter 对象,并使用 parse() 方法将日期字符串解析为 LocalDate 类型,代码如下:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); LocalDate localDate = LocalDate.parse(dateString, formatter);
其中,DateTimeFormatter.ofPattern(pattern) 表示将日期格式化为 pattern 格式,LocalDate.parse(dateString, formatter) 表示将日期字符串按照 formatter 的格式解析为 LocalDate 类型。
2. 将日期转换为字符串
同样,我们也可以将 LocalDate 对象转换为指定格式的字符串,代码如下:
String dateFormat = formatter.format(localDate);
其中,formatter.format(localDate) 表示将 localDate 格式化为 formatter 的格式。
综上所述,使用 SimpleDateFormat 和 DateTimeFormatter 都可以将日期字符串转换为日期类型,并且也可以将日期类型转换为字符串。两者相比,Java 8 中新增的 DateTimeFormatter 类提供了更加灵活的方式,并支持线程安全操作,因此在实际开发中比较常用。
