获取当前时间到晚上0点的秒数和时间戳

获取当前时间 到 晚上 0 点 的秒数。

思路1: 每天的秒数是固定的,60*60*24=86400,获取当天已经过的秒数,相减即可。

int second = 86400 - LocalTime.now().toSecondOfDay();

思路2:使用时分秒计算出当天已经过的秒数。第一种也是按此实现的

Calendar instance = Calendar.getInstance();
int secondOfDay = instance.get(Calendar.HOUR_OF_DAY)*3600+
        instance.get(Calendar.MINUTE)*60+
        instance.get(Calendar.SECOND);

int second = 86400 - secondOfDay;

思路3:时间戳是从 0 开始计算的,我们所在东八区是在此基础上减8小时(28800000ms)

int secondOfDay = (int) (System.currentTimeMillis() +28800000)%86400000;
int second = 86400 - secondOfDay/1000;

如果你需要指定Redis中key在指定时间过期,则可以

expireat key timestamp

 获取零点的时间戳

LocalDate localDate = LocalDate.now().plusDays(1);

Instant instant = localDate.atStartOfDay()
                        .atZone(ZoneId.systemDefault()).toInstant();

Date date = Date.from(instant);

如果你使用的redis版本为6.x,则

set name 123 EXAT timestamp

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值