Java如何将String类型的时间戳转化为Date类型的时间戳
时间: 2024-09-16 22:02:44 浏览: 59
在Java中,你可以通过`SimpleDateFormat`或者`Instant`类来将字符串时间戳转换为`Date`类型。以下是两种常用方法:
1. **使用`SimpleDateFormat`**:
```java
String timestampStr = "yyyy-MM-dd HH:mm:ss"; // 格式化的字符串时间戳
SimpleDateFormat sdf = new SimpleDateFormat(timestampStr);
Date date = sdf.parse(timestampStr);
```
这里假设`timestampStr`是按照特定格式的字符串,如"2023-04-01 12:34:56"。`parse()`方法会尝试解析字符串并返回对应的`Date`对象。
2. **使用`Instant`和`ZonedDateTime`** (适用于Java 8及更高版本):
```java
String timestampStrWithMs = "2023-04-01T12:34:56.789Z";
Instant instant = Instant.parse(timestampStrWithMs);
ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
Date date = Date.from(zdt.toInstant());
```
`Instant.parse()`可以解析ISO 8601格式的时间戳,然后`atZone()`设置时区,最后通过`from()`方法转换为`Date`。
记得在使用`SimpleDateFormat`之前,需要确保已提供正确的日期格式,如果不确定格式,可能会抛出`ParseException`。
阅读全文