Java 时间戳时间转换
时间: 2023-11-06 18:07:20 浏览: 113
java--时间戳与时间转换工具
5星 · 资源好评率100%
Java 时间戳与时间之间的转换可以使用 `java.util.Date` 和 `java.time` 包中的类。
1. 将时间戳转换为时间
使用 `java.util.Date` 类的构造方法可以将时间戳转换为时间。
```java
long timestamp = 1627597782000L; // 时间戳,单位毫秒
Date date = new Date(timestamp);
System.out.println(date); // 输出:Fri Jul 30 10:29:42 CST 2021
```
2. 将时间转换为时间戳
可以使用 `java.util.Date` 类的 `getTime()` 方法获取时间的时间戳值。
```java
Date date = new Date();
long timestamp = date.getTime();
System.out.println(timestamp); // 输出:1627597782000
```
3. 使用 java.time 包进行时间戳和时间之间的转换
Java 8 引入了 `java.time` 包,提供了一组全新的日期和时间 API。可以使用 `Instant` 类将时间戳转换为时间,使用 `LocalDateTime` 类将时间转换为时间戳。
```java
long timestamp = 1627597782000L; // 时间戳,单位毫秒
Instant instant = Instant.ofEpochMilli(timestamp);
System.out.println(instant); // 输出:2021-07-30T02:29:42.000Z
LocalDateTime datetime = LocalDateTime.now();
long timestamp2 = datetime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
System.out.println(timestamp2); // 输出:1627597782000
```
上面代码中,`Instant.ofEpochMilli()` 方法将时间戳转换为 `Instant` 类型的时间,`LocalDateTime.now()` 获取当前时间,`atZone()` 方法将当前时间转换为指定时区的时间,`toInstant()` 方法将指定时区的时间转换为 `Instant` 类型的时间,`toEpochMilli()` 方法获取 `Instant` 类型时间的时间戳值。
阅读全文