工作中写的方法,有时间回来整理完善一下
参考这篇文章(更完善):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
尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。