工作中写的方法,有时间回来整理完善一下
参考这篇文章(更完善):https://blog.csdn.net/Thepatterraining/article/details/128140264
private static final long MILLIS_PER_DAY = 86400000L;
private static final long TIME_ZONE_OFFSET = TimeZone.getDefault().getRawOffset();
private static final ZoneOffset ZONE_OFFSET = ZoneOffset.ofHours(8);
/**
* 获取当日0点时间戳
*
* @param date
* @return
*/
private static Long getDayTimestamp(LocalDateTime date) {
if (date == null) {
return null;
}
// 当前时刻时间戳
// 秒级
// long currentTimestamp = date.toEpochSecond(ZONE_OFFSET);
// 毫秒级
long currentTimestamp = date.toInstant(ZONE_OFFSET).toEpochMilli();
// 距离当日 00:00:00 时刻毫秒数
long dayOffsetTimestamp = currentTimestamp % MILLIS_PER_DAY;
// 当日 0 点时间戳
return currentTimestamp - dayOffsetTimestamp;
}
/**
* 获取当日0点时间戳
*
* @param date
* @return
*/
private static Long getDayTimestamp(Date date) {
if (date == null) {
return null;
}
// 当前时刻时间戳
long currentTimestamp = date.getTime() + TIME_ZONE_OFFSET;
// 距离当日 00:00:00 时刻毫秒数
long dayOffsetTimestamp = currentTimestamp % MILLIS_PER_DAY;
// 当日 0 点时间戳
return currentTimestamp - dayOffsetTimestamp;
}本站文章除注明转载/出处外,均为原创,若要转载请务必注明出处。转载后请将转载链接通过邮件告知我站,谢谢合作。本站邮箱:admin@only4.work
尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。
GitHub登录