秒级字符串时间戳转LocalDateTime 北京时间
时间: 2023-07-20 21:19:55 浏览: 103
如果你需要将秒级字符串时间戳转换为北京时间的LocalDateTime,你可以使用ZoneId.of("Asia/Shanghai")方法来指定时区。以下是一个示例代码:
```
String timestamp = "1620082800";
long epochSeconds = Long.parseLong(timestamp);
LocalDateTime datetime = LocalDateTime.ofEpochSecond(epochSeconds, 0, ZoneOffset.UTC);
LocalDateTime beijingTime = datetime.atZone(ZoneId.of("Asia/Shanghai")).toLocalDateTime();
```
在这个示例中,我们首先使用UTC时区将时间戳转换为LocalDateTime对象,然后使用atZone()方法将其转换为指定时区的ZonedDateTime对象,最后使用toLocalDateTime()方法将其转换为北京时间的LocalDateTime对象。
相关问题
秒级字符串时间戳转LocalDateTime
你可以使用Java 8中的DateTimeFormatter类将字符串时间戳转换为LocalDateTime。以下是一个示例代码:
```
String timestamp = "1620082800";
long epochSeconds = Long.parseLong(timestamp);
LocalDateTime datetime = LocalDateTime.ofEpochSecond(epochSeconds, 0, ZoneOffset.UTC);
```
这里,我们首先将时间戳字符串转换为long类型的epoch seconds,然后使用LocalDateTime.ofEpochSecond()方法将其转换为LocalDateTime对象。在这个示例中,我们使用UTC时区,你可以根据需要更改时区。
时间戳转localdatetime
在 Java 中,可以使用 `java.time` 包的 `Instant` 和 `ZoneId` 类来将时间戳转换为 `LocalDateTime` 类型。下面是一个示例代码:
```java
long timestamp = 1629758400; // 时间戳,单位为秒
Instant instant = Instant.ofEpochSecond(timestamp);
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zoneId);
System.out.println(localDateTime);
```
这将把时间戳 `1629758400` 转换为当前时区下的本地日期时间。输出结果可能类似于:
```
2021-08-24T00:00
```
如果需要指定其他时区,可以将 `ZoneId.systemDefault()` 替换为其他时区的 `ZoneId` 对象。
阅读全文