将时间戳变成localdate代码
时间: 2023-06-06 15:08:51 浏览: 49
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
public class Main {
public static void main(String[] args) {
long timestamp = 1625833252716L; // 时间戳
LocalDateTime localDateTime = LocalDateTime.ofEpochSecond(timestamp / 1000, 0, ZoneOffset.ofHours(8)); // 转换为LocalDateTime对象,需要加上时区偏移量
LocalDate localDate = localDateTime.toLocalDate(); // 获取LocalDate对象
System.out.println(localDate); // 输出本地日期
}
}
相关问题
怎么将时间戳变成localdate
可以使用Java 8中的java.time包中的Instant和LocalDate类来实现将时间戳转换为本地日期。可以使用Instant.ofEpochMilli(long timestamp)方法将时间戳转换为Instant对象,然后使用Instant.atZone(ZoneId systemDefault())方法将其转换为当前时区的ZonedDateTime对象,最后使用ZonedDateTime.toLocalDate()方法将其转换为LocalDate对象,即可获得本地日期。
时间戳转LocalDate
可以使用Java 8中的`Instant`和`LocalDate`类来实现时间戳转`LocalDate`的功能。具体实现可以参考以下代码:
```java
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
public class TimestampToLocalDateExample {
public static void main(String[] args) {
long timestamp = 1620731235; // 时间戳,单位为秒
// 将时间戳转为Instant对象
Instant instant = Instant.ofEpochSecond(timestamp);
// 通过Instant对象和时区信息创建LocalDate对象
LocalDate localDate = instant.atZone(ZoneId.systemDefault()).toLocalDate();
// 输出LocalDate对象
System.out.println(localDate); // 输出:2021-05-11
}
}
```
上述代码中,首先使用`Instant.ofEpochSecond()`方法将时间戳转为`Instant`对象。然后,使用`Instant.atZone()`方法将`Instant`对象转为`ZonedDateTime`对象,再使用`ZonedDateTime.toLocalDate()`方法将其转为`LocalDate`对象。最后,输出`LocalDate`对象即可。需要注意的是,`atZone()`方法需要传入时区信息,这里使用`ZoneId.systemDefault()`获取当前系统默认的时区信息。