欢迎访问宙启技术站
智能推送

Java函数实现字符串转换成日期的方法有哪些?

发布时间:2023-06-22 17:37:12

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 类提供了更加灵活的方式,并支持线程安全操作,因此在实际开发中比较常用。