Java获取当前时间到凌晨12点剩余秒数

Posted 93

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java获取当前时间到凌晨12点剩余秒数相关的知识,希望对你有一定的参考价值。

有个获取登陆用户是否每天第一次登陆系统需求,考虑不需要入库操作,就用redis设置key每天凌晨0点删除

    /**
     * 获取当前时间到凌晨12点的秒数
     * @return
     */
    public Long getSecondsNextEarlyMorning() {
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.DAY_OF_YEAR, 1);
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.MILLISECOND, 0);
        return (cal.getTimeInMillis() - System.currentTimeMillis()) / 1000;
    }
//cal.set(Calendar.HOUR,0);此方法如果当前时间超过中午12点,则返回的结果是当前时间到明天中午十二点的秒数,如果当前时间不超过中午12:00,则返回的结果是到第二天凌晨的秒数
//cal.set(Calendar.HOUR_OF_DAY, 0);无论当前时间是否超过中午12:00,获取的都是到第二天凌晨的秒数。

Calendar.HOUR:12小时制。
Calendar.HOUR_OF_DAY :24小时制。

以上是关于Java获取当前时间到凌晨12点剩余秒数的主要内容,如果未能解决你的问题,请参考以下文章

Java 获取各时区时间,获取当前时间到格林威治时间1970年01月01日00时00分00秒的秒数

Java 从现在到次日零时还剩余多少秒

获取剩余的秒数

新手php时间戳的问题如何获取每天凌晨的时间戳?

如何计算给定日期的剩余天数、小时数、分钟数和秒数?

Java 日历:凌晨 1 点切换到标准时间(从 DST 开始)