LocalDateTime获取某一天零点时间戳
时间: 2023-06-28 22:16:22 浏览: 144
可以使用`LocalDateTime`和`ZoneOffset`来获取某一天零点的时间戳。具体的实现代码如下:
```java
LocalDateTime localDateTime = LocalDateTime.of(2021, 8, 18, 0, 0);
ZoneOffset zoneOffset = ZoneOffset.of("+8");
long timestamp = localDateTime.toInstant(zoneOffset).toEpochMilli();
```
其中,`LocalDateTime.of(2021, 8, 18, 0, 0)`表示创建一个`LocalDateTime`对象,表示2021年8月18日零点;`ZoneOffset.of("+8")`表示设置时区为东八区;`localDateTime.toInstant(zoneOffset).toEpochMilli()`表示将`LocalDateTime`对象转化为时间戳,即从1970年1月1日0时0分0秒到指定时间的毫秒数。
需要注意的是,上述代码中的时区设置是硬编码的,如果需要适应不同的时区,可以根据实际情况进行调整。
相关问题
js获取某一天的时间戳
可以使用 JavaScript 的 `Date` 对象来获取某一天的时间戳。具体操作如下:
```javascript
// 获取当前时间的时间戳
const now = Date.now();
// 获取某一天的时间戳
const date = new Date('2021-01-01');
const timestamp = date.getTime();
```
其中,`Date.now()` 方法可以获取当前时间的时间戳,返回值为毫秒数。如果要获取某一天的时间戳,可以先创建一个 `Date` 对象,参数为该天的日期字符串,然后使用 `getTime()` 方法获取该日期的时间戳,也返回毫秒数。
传入时间戳通过LocalDateTime获取此时间戳所在天的零点时间戳
可以使用`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()`表示将零点时间转化为时间戳。
需要注意的是,上述代码中的时区设置是硬编码的,如果需要适应不同的时区,可以根据实际情况进行调整。