秒级字符串时间戳转LocalDateTime
时间: 2023-07-20 15:19:55 浏览: 49
你可以使用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 北京时间
如果你需要将秒级字符串时间戳转换为北京时间的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对象。
java Unix时间戳字符串转LocalDateTime
你可以使用`java.time.LocalDateTime`和`java.time.Instant`来将Unix时间戳字符串转换为`LocalDateTime`。以下是一个示例代码:
```javaimport java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String unixTimestampString = "1629456000"; // Unix时间戳字符串 // 将Unix时间戳字符串转换为Instant对象 Instant instant = Instant.ofEpochSecond(Long.parseLong(unixTimestampString));
// 将Instant对象转换为LocalDateTime对象 LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
// 格式化输出 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = localDateTime.format(formatter);
System.out.println(formattedDateTime);
}
}
```
这个示例代码将Unix时间戳字符串"1629456000"转换为本地的`LocalDateTime`对象,并将其格式化为"yyyy-MM-dd HH:mm:ss"的字符串输出。你可以根据需要修改格式化的模式。