java——如何获取当前时间到第二天凌晨(12点)的秒的差值(或者分钟的差值)

前天在写注册领红包的一个需求时候,用redis控制每天给用户弹窗的一个数量,规定了这个redis缓存的有效期就是凌晨12点。遇到了问题,但是最后还是给解决了;在这记录一下。

在百度上看到一个这样的代码(代码如下),它是这样的一个结果:

(1)如果当前时间超过中午12:00,则返回的结果是当前时间到第二天中午12:00的秒数; 

(2)如果当前时间不超过中午12:00,则返回的结果是到第二天凌晨的秒数,也就是我想要的结果。

java——如何获取当前时间到第二天凌晨(12点)的秒的差值(或者分钟的差值)

如果想要获取当前时间(是否超过中午12:00)到第二天凌晨的秒数(或者分钟数)应该这样做。》》》》》》

java——如何获取当前时间到第二天凌晨(12点)的秒的差值(或者分钟的差值)

这样得到的就是当前时间到第二天凌晨12点的秒的差值。如果想得到分钟数只需要修改此行代码即可:

Long timeout = ((calendar.getTimeInMillis()-System.currentTimeMillis()) / 1000) / 60;
System.out.println(timeout);

或这样:

Long timeout = (calendar.getTimeInMillis() - System.currentTimeMillis()) / (1000*60);