使用DateTimeFormatter对字符串格式的时间解析为时间戳
时间: 2023-08-05 07:27:27 浏览: 396
使用 `DateTimeFormatter` 对字符串格式的时间解析为时间戳的步骤如下:
1. 创建 `DateTimeFormatter` 对象,指定字符串格式。
```java
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
```
2. 使用 `parse` 方法将字符串解析为 `LocalDateTime` 对象。
```java
String timeStr = "2022-01-01 12:00:00";
LocalDateTime dateTime = LocalDateTime.parse(timeStr, formatter);
```
3. 将 `LocalDateTime` 对象转换为时间戳。
```java
long timestamp = dateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
```
完整的代码示例:
```java
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
public class DateTimeFormatterExample {
public static void main(String[] args) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String timeStr = "2022-01-01 12:00:00";
LocalDateTime dateTime = LocalDateTime.parse(timeStr, formatter);
long timestamp = dateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();
System.out.println(timestamp); // 1641038400000
}
}
```
注意:在将 `LocalDateTime` 转换为时间戳时,需要指定时区信息。上面的示例中,我指定的是东八区的时区信息。你需要根据自己的实际情况进行修改。
阅读全文