Java函数实现字符串转换为日期
Java是一门在企业中广泛应用的编程语言,很多业务都需要处理日期,如将字符串转换为日期类型。常用的日期格式有“yyyy-MM-dd HH:mm:ss”,“yyyy/MM/dd”等,下面介绍如何使用Java中的函数实现字符串转换为日期。
1. 使用SimpleDateFormat类
SimpleDateFormat类是Java中常用的日期格式化类,它可以将Date类型格式化成指定格式的字符串,同时也可以将字符串解析成对应的Date类型。下面是一个示例:
String strDate = "2021-07-01 12:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date = sdf.parse(strDate);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
解析过程比较简单,首先定义一个日期字符串,然后定义SimpleDateFormat格式化器并指定日期格式为“yyyy-MM-dd HH:mm:ss”,接着使用parse方法将字符串解析成Date类型,注意需要处理其可能抛出的ParseException异常。
2. 使用DateTimeFormatter类
Java 8版本中新增了DateTimeFormatter类,这个类可以并发使用,是线程安全的,同时也非常容易使用。下面是一个使用DateTimeFormatter类的示例:
String strDate = "2021-07-01 12:00:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
try {
LocalDateTime dateTime = LocalDateTime.parse(strDate, formatter);
Date date = Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant());
System.out.println(date);
} catch (DateTimeParseException e) {
e.printStackTrace();
}
解析过程和SimpleDateFormat类基本相同,首先定义一个日期字符串,然后定义一个DateTimeFormatter格式化器并指定日期格式为“yyyy-MM-dd HH:mm:ss”,接着使用parse方法将字符串解析成LocalDateTime类型,最后将LocalDateTime类型转换成Date类型。
3. 使用DateFormat类
DateFormat类是SimpleDateFormat类的父类,同时也是抽象类。这个类提供了许多格式化和解析日期的方法,下面是一个使用DateFormat类的示例:
String strDate = "2021-07-01";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = dateFormat.parse(strDate);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
解析过程中,定义一个日期字符串,然后定义一个SimpleDateFormat格式化器并指定日期格式为“yyyy-MM-dd”,接着使用parse方法将字符串解析成Date类型,最后打印Date类型。
4. 总结
以上三种方法都可以实现字符串转换成日期类型,其中SimpleDateFormat类和DateFormat类比较常见,但DateFormat类的parse方法和SimpleDateFormat类的parse方法之间并不完全相同,具体实现方式可能有所差异。DateTimeFormatter类是Java 8版本中新增的,而且相比之前两种方法,它的代码相对简洁易懂。使用哪种方法取决于具体情况,可以根据自己的习惯和实际业务需求进行选择。
