LocalDateTime 字符串转日期
时间: 2023-11-09 11:57:12 浏览: 44
你可以使用`LocalDateTime.parse()`方法将字符串转换为`LocalDateTime`对象。此方法接受一个表示日期时间的字符串和一个指定日期时间格式的`DateTimeFormatter`对象作为参数。
下面是一个示例代码,将字符串"2022-01-01T10:30:00"转换为`LocalDateTime`对象:
```
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String str = "2022-01-01T10:30:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);
System.out.println(dateTime); // 输出:2022-01-01T10:30
}
}
```
请注意,`DateTimeFormatter`对象中的日期时间格式模式应与输入字符串的格式相匹配,以确保正确的转换。
相关问题
LocalDateTime 字符串转日期 带时区
要将 LocalDateTime 字符串转换为带时区的日期,您可以使用 DateTimeFormatter 来指定日期时间的格式,并使用 ZonedDateTime 类来表示带时区的日期。
以下是使用 Java 8 的示例代码:
```java
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String dateTimeString = "2021-12-31T23:59:59"; // LocalDateTime 字符串
String zoneIdString = "Asia/Shanghai"; // 目标时区
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(dateTimeString, formatter);
ZoneId zoneId = ZoneId.of(zoneIdString);
ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, zoneId);
System.out.println(zonedDateTime);
}
}
```
运行此代码将输出带时区的日期时间,如 "2021-12-31T23:59:59+08:00[Asia/Shanghai]"。
java LocalDateTime字符串互转
在Java中,可以使用`DateTimeFormatter`类来进行`LocalDateTime`和字符串之间的转换。下面是互相转换的示例代码:
1. 将`LocalDateTime`对象转换为字符串:
```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
// 定义日期时间格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 将LocalDateTime对象格式化为字符串
String formattedDateTime = now.format(formatter);
System.out.println("Formatted DateTime: " + formattedDateTime);
}
}
```
2. 将字符串转换为`LocalDateTime`对象:
```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String dateTimeString = "2021-10-01 12:34:56";
// 定义日期时间格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 将字符串解析为LocalDateTime对象
LocalDateTime parsedDateTime = LocalDateTime.parse(dateTimeString, formatter);
System.out.println("Parsed DateTime: " + parsedDateTime);
}
}
```
通过以上示例代码,你可以在`LocalDateTime`对象和字符串之间进行互相转换。根据需要,你可以自定义日期时间格式,以适应不同的场景。