将SimpleDateFormat时间字符串转为LocalDateTime对象
时间: 2023-10-14 20:23:48 浏览: 93
好的,可以使用下面的代码将SimpleDateFormat格式的时间字符串转为LocalDateTime对象:
```java
String time = "2021-06-20 08:30:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(time, formatter);
```
这段代码将时间字符串"2021-06-20 08:30:00"转为LocalDateTime对象。如果时间字符串的格式不同,需要对应修改formatter的格式参数。
相关问题
java 将字符串转为LocalDateTime
Java中可以使用多种方法将字符串转换为LocalDateTime,以下是其中两种常用的方法:
方法一:使用hutool包进行转换
可以使用hutool包中的DateUtil.parse()方法将字符串先转换成DateTime,再转换为LocalDateTime。示例代码如下:
```
public static LocalDateTime parseLocalDateTime(String dateStr) {
DateTime parse = DateUtil.parse(dateStr);
Instant instant = parse.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
return localDateTime;
}
```
方法二:使用SimpleDateFormat进行转换
可以使用SimpleDateFormat将字符串转换为Date类型,再将Date类型转换为LocalDateTime。示例代码如下:
```
public static LocalDateTime toLocalDateTime(String dateStr) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(dateStr);
Instant instant = date.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
return localDateTime;
} catch (ParseException e) {
e.printStackTrace();
throw new RuntimeException();
}
}
```
方法三:使用DateTimeFormatter进行转换
可以使用DateTimeFormatter将字符串直接转换为LocalDateTime。示例代码如下:
```
public static LocalDateTime toLocalDateTime(String dateStr) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(dateStr, formatter);
return localDateTime;
}
```
java如何将字符串转为时间戳
在Java中,你可以使用`java.util.Date`类或者其更现代的替代品`java.time.LocalDateTime`来将字符串转换为时间戳。这里分别给出两个示例:
1. 使用`Date`类:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public long stringToTimestamp(String dateString) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date date = formatter.parse(dateString);
return date.getTime(); // 返回的是自1970年1月1日00:00:00 GMT以来的毫秒数
} catch (ParseException e) {
throw new IllegalArgumentException("Invalid date format", e);
}
}
```
2. 使用`LocalDateTime`类(Java 8及以上):
```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public long stringToTimestamp(String dateString) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(dateString, formatter);
return localDateTime.atZone(ZoneOffset.UTC).toInstant().toEpochMilli();
}
```
在上述代码中,你需要确保传入的日期字符串格式与你使用的日期解析模式匹配。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20250102104920.png)
![text/plain](https://img-home.csdnimg.cn/images/20250102104920.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![text/plain](https://img-home.csdnimg.cn/images/20250102104920.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)