在Java中,我们经常需要将日期和时间以字符串的形式
存储
、传输或显示,同时也需要将字符串转换为日期和时间对象以便进行日期和时间的计算。LocalDateTime类在Java 8中引入,用于表示没有时区的日期和时间。下面,我们将介绍String与LocalDateTime之间的转换方法。
1. String转LocalDateTime
要将String转换为LocalDateTime,我们需要使用DateTimeFormatter类来定义日期和时间的格式,然后使用LocalDateTime的parse方法将字符串解析为LocalDateTime对象。下面是一个示例:
import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;public class StringToLocalDateTimeExample { public static void main(String[] args) { String dateTimeStr = "2023-04-05T10:15:30"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"); LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr, formatter); System.out.println(dateTime); // 输出:2023-04-05T10:15:30 }}
在上面的示例中,我们定义了一个字符串
dateTimeStr
,它表示一个日期和时间。然后,我们创建了一个DateTimeFormatter对象
formatter
,它定义了日期和时间的格式。最后,我们使用
LocalDateTime.parse
方法将字符串解析为LocalDateTime对象,并打印出来。
2. LocalDateTime转String
要将LocalDateTime转换为String,我们同样需要使用DateTimeFormatter类来定义日期和时间的格式,然后使用LocalDateTime的format方法将LocalDateTime对象格式化为字符串。下面是一个示例:
import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;public class LocalDateTimeToStringExample { public static void main(String[] args) { LocalDateTime dateTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"); String dateTimeStr = dateTime.format(formatter); System.out.println(dateTimeStr); // 输出当前日期和时间,例如:2023-04-05T10:15:30 }}