java17 yyyymmdd转成timestamp
时间: 2024-07-08 16:01:23 浏览: 163
DateUtil.java 时间日期处理工具类
5星 · 资源好评率100%
在Java 17中,将日期字符串(如"yyyyMMdd"格式)转换为Timestamp类型通常涉及到日期和时间处理。你可以使用`java.time`包中的`LocalDate`和`ZonedDateTime`类配合`Instant`类来完成这个转换。下面是步骤:
首先,假设你有一个字符串变量`dateStr`存储着"yyyyMMdd"格式的日期,例如:"20230815"。
```java
String dateStr = "20230815";
```
然后,你需要创建一个对应的`LocalDate`实例:
```java
LocalDate localDate = LocalDate.parse(dateStr, DateTimeFormatter.ofPattern("yyyyMMdd"));
```
这里我们使用`DateTimeFormatter`指定输入日期的格式。
接着,获取该日期的即时时间点`Instant`:
```java
Instant instant = Instant.ofEpochDay(localDate.toEpochDay());
```
`toEpochDay()`方法会将`LocalDate`转换为从公元纪元1970年1月1日开始的天数。
最后,如果你想要得到一个`Timestamp`对象,可以直接包装`Instant`:
```java
Timestamp timestamp = Timestamp.from(instant);
```
现在,`timestamp`就包含了对应的"yyyyMMdd"日期的时间戳。
阅读全文