📜  Java 日期(Date)转string(1)

📅  最后修改于: 2023-12-03 15:16:01.258000             🧑  作者: Mango

Java 日期(Date)转字符串

在Java程序中,通常需要将日期(Date)转换为字符串(String)格式,以满足业务需求。本文将介绍如何在Java中将日期转换为字符串,并提供示例代码。

SimpleDateFormat类

Java自带的SimpleDateFormat类是用于日期格式化的常用类,可以将日期(Date)对象格式化为指定的字符串格式,也可以将一个字符串转换为对应的日期对象。

将日期转换为指定格式的字符串

可以通过SimpleDateFormat的format()方法将日期格式化为指定格式的字符串。例如,将日期转换为“yyyy-MM-dd HH:mm:ss”格式的字符串:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String dateStr = sdf.format(date);
System.out.println(dateStr); // 输出当前时间的格式化字符串

上述代码中,创建了一个SimpleDateFormat对象,并指定日期格式为“yyyy-MM-dd HH:mm:ss”。然后获取当前时间的Date对象,并使用format()方法将其转换为指定格式的字符串。最后输出转换后的字符串。

将字符串转换为日期

可以通过SimpleDateFormat的parse()方法将字符串转换为对应的日期对象。例如,将“2022-01-01”字符串转换为对应的Date对象:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = "2022-01-01";
Date date = sdf.parse(dateStr);
System.out.println(date); // 输出转换后的Date对象

上述代码中,创建了一个SimpleDateFormat对象,并指定日期格式为“yyyy-MM-dd”。然后将字符串“2022-01-01”通过parse()方法转换为对应的Date对象,并输出转换后的结果。

DateTimeFormatter类

Java8之后,可以使用新的DateTimeFormatter类来格式化日期。DateTimeFormatter类是线程安全的,也是不可变的,适用于多线程的情况下使用。

将日期转换为指定格式的字符串

可以通过DateTimeFormatter的format()方法将日期格式化为指定格式的字符串。例如,将日期转换为“yyyy-MM-dd HH:mm:ss”格式的字符串:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
String dateStr = dtf.format(now);
System.out.println(dateStr); // 输出当前时间的格式化字符串

上述代码中,创建了一个DateTimeFormatter对象,并指定日期格式为“yyyy-MM-dd HH:mm:ss”。然后获取当前时间的LocalDateTime对象,并使用format()方法将其转换为指定格式的字符串。最后输出转换后的字符串。

将字符串转换为日期

可以通过DateTimeFormatter的parse()方法将字符串转换为对应的日期对象。例如,将“2022-01-01”字符串转换为对应的LocalDate对象:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String dateStr = "2022-01-01";
LocalDate date = LocalDate.parse(dateStr, dtf);
System.out.println(date); // 输出转换后的LocalDate对象

上述代码中,创建了一个DateTimeFormatter对象,并指定日期格式为“yyyy-MM-dd”。然后将字符串“2022-01-01”通过parse()方法转换为对应的LocalDate对象,并输出转换后的结果。

总结

本文介绍了如何使用SimpleDateFormat和DateTimeFormatter类将日期转换为指定格式的字符串,并将字符串转换为对应的日期对象。在实际开发中,可以根据需要选择适合的方式进行日期的格式化和解析。