您的位置:

LocalDateTime转换成Date的方法

一、LocalDateTime转换成String

1.1 LocalDateTime转成String的方法:


LocalDateTime localDateTime = LocalDateTime.now();
String formatDateTime = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

上述代码使用了DateTimeFormatter来定义格式化的方式,将LocalDateTime对象格式化成为字符串。可以根据需求自行修改DateTimeFormatter的参数。

1.2 String转LocalDateTime的方法:


String str = "2021-11-11 11:11:11";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);

上述代码中首先定义了需要转换的字符串str,然后指定了DateTimeFormatter的格式化方式,将字符串转换成LocalDateTime对象。

二、LocalDateTime转换TimeZone

2.1 LocalDateTime转换成指定的TimeZone:


LocalDateTime localDateTime = LocalDateTime.now();
ZoneId sourceZone = ZoneId.systemDefault();//获取当前时区
ZoneId targetZone = ZoneId.of("Asia/Shanghai");//转换目标时区
ZonedDateTime sourceDateTime = localDateTime.atZone(sourceZone);
ZonedDateTime targetDateTime = sourceDateTime.withZoneSameInstant(targetZone);
LocalDateTime targetLocalDateTime = targetDateTime.toLocalDateTime();

上述代码中首先获取了当前的LocalDateTime对象,并通过ZoneId获取当前的时区sourceZone和需要转换的目标时区targetZone。然后将LocalDateTime转换成ZonedDateTime对象,并通过withZoneSameInstant方法转换成目标时区。最后再将ZonedDateTime对象转换成LocalDateTime对象。

三、LocalDateTime转换成数值

3.1 LocalDateTime转换成毫秒数:


LocalDateTime localDateTime = LocalDateTime.now();
long milliseconds = localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();

上述代码中首先获取当前的LocalDateTime对象,然后通过toInstant方法将LocalDateTime对象转换成Instant对象,并指定ZoneOffset为“+8”表示东八区的时区。最后通过toEpochMilli方法将Instant对象转换成毫秒数。

四、LocalDateTime转换成Long

4.1 LocalDateTime转换成Long的方法:


LocalDateTime localDateTime = LocalDateTime.now();
long timestamp = localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();

上述代码中,同样是通过toInstant方法将LocalDateTime对象转换成Instant对象,并将时区设置成东八区,并通过toEpochMilli方法将Instant对象转换成Long类型的时间戳。

五、String转换LocalDateTime

5.1 String转换LocalDateTime的方法:


String str = "2021-11-11 11:11:11";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);

上述代码与1.2相同,是将字符串转换成LocalDateTime对象的方法。

六、LocalDateTime转换成String

6.1 LocalDateTime转换成String的方法:


LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = localDateTime.format(formatter);

上述代码中,同样使用DateTimeFormatter对象定义了格式化方式,并通过format方法将LocalDateTime对象格式化成字符串。