传入时间戳通过LocalDateTime获取此时间戳所在天的零点时间戳
时间: 2023-07-21 20:08:52 浏览: 108
2AUTO-TIMEstamp-10DIGITS.rar_时间戳
可以使用`LocalDateTime`和`ZoneOffset`来获取一个时间戳所在天的零点时间戳。具体的实现代码如下:
```java
long timestamp = 1629312000000L; // 假设传入的时间戳为 2021-08-19 00:00:00
ZoneOffset zoneOffset = ZoneOffset.of("+8");
LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp), zoneOffset);
LocalDateTime startOfDay = localDateTime.toLocalDate().atStartOfDay();
long startOfDayTimestamp = startOfDay.toInstant(zoneOffset).toEpochMilli();
```
其中,`LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp), zoneOffset)`表示将时间戳转化为`LocalDateTime`对象;`localDateTime.toLocalDate().atStartOfDay()`表示获取`LocalDateTime`所在天的零点时间;`startOfDay.toInstant(zoneOffset).toEpochMilli()`表示将零点时间转化为时间戳。
需要注意的是,上述代码中的时区设置是硬编码的,如果需要适应不同的时区,可以根据实际情况进行调整。
阅读全文