错误案例

public Long getSecondsNextEarlyMorning() {Calendar cal = Calendar.getInstance();cal.add(Calendar.DAY_OF_YEAR, 1);// 坑就在这里cal.set(Calendar.HOUR, 0);cal.set(Calendar.SECOND, 0);cal.set(Calendar.MINUTE, 0);cal.set(Calendar.MILLISECOND, 0);return (cal.getTimeInMillis() - System.currentTimeMillis()) / 1000;}

上面的代码中,如果当前时间超过中午12:00,则返回的结果是当前时间到第二天中午12:00的秒数;
如果当前时间不超过中午12:00,则返回的结果是到第二天凌晨的秒数。

正确案例

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;}

这样无论当前时间是否超过中午12:00,获取的都是到第二天凌晨的秒数。

其中JDK文档是这样解释的:

Calendar.HOUR:get 和 set 的字段数字,指示上午或下午的小时。
Calendar.HOUR_OF_DAY :get 和 set 的字段数字,指示一天中的小时。

Redis缓存有效时间设置到第二天凌晨的秒数相关推荐

  1. java如何获取当前时间到第二天凌晨的秒数

    java如何获取当前时间到第二天凌晨的秒数 原因:前两天写了一个接口,redis缓存有效时间设置到第二天的凌晨中遇到一个坑,这里记录一下. 坑在这里 public Long getSecondsNex ...

  2. java判断当前时间距离第二天凌晨的秒数

    /*** 判断当前时间距离第二天凌晨的秒数** @return 返回值单位为[s:秒]*/public Long getSecondsNextEarlyMorning() {Calendar cal ...

  3. Sringboot2.x整合Redis缓存,设置过期时间

    目录结构: pom.xml <dependencies><!--Spring整合redis包 --><dependency><groupId>org.s ...

  4. 获取昨天凌晨毫秒数_Java 获取当前时间距离当天凌晨的秒数

    在前期项目中遇到一个客户端与服务器间的时间同步问题,需要获取到当前时间与当天凌晨时间距离的秒数,写这篇文章主要是为了总结一下经验提升方便日后温习,以下是具体的测试代码: Junit的maven依赖: ...

  5. asp.net html5 缓存,ASP.NET 缓存有效时间设置解决思路

    C# codeusing System; using System.Web.Caching; using System.Web; using System.Collections; using Sys ...

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

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

  7. redis缓存雪崩、缓存击穿和缓存穿透还傻傻分不清?看这篇就够了

    前言 关于Redis的高频问题,缓存雪崩.缓存击穿和缓存穿透一定少不了,相信大家在面试中都被问到过类似的问题.为什么这些问题一直热门呢?因为我们在使用Redis缓存时,这些问题都是很容易遇到的.接下来 ...

  8. Java操作redis设置第二天凌晨过期

    场景: 在做查询数据的时候,遇到了需要设置数据在redis中第二天过期的问题,但是redis又没有对应的API,就只好自己来解决了 思路: 计算出第二天凌晨与当前时间的时间差,将该时间差设置为redi ...

  9. redis缓存失效时间设为多少_Redis有效时间设置及时间过期处理

    本文对redis的过期处理机制做个简单的概述,让大家有个基本的认识. Redis中有个设置时间过期的功能,即对存储在redis数据库中的值可以设置一个过期时间.作为一个缓存数据库,这是非常实用的.如我 ...

最新文章

  1. Windows Phone 7 SDK 7.1 Beta2 发布
  2. 地球5000年变化全景动画——看完叹了口气:整个世界安静了
  3. linux下postgresql服务,Linux下PostgreSQL数据库安装、配置与日常服务管理
  4. 考研初试成绩陆续公布,说说你的考研故事
  5. 《Redis官方文档》Redis调试指南
  6. github 创建文件夹
  7. 【51单片机快速入门指南】4.3.2: MPU6050:一阶互补滤波、二阶互补滤波和卡尔曼滤波获取欧拉角
  8. Android实现圆角照片和圆形照片
  9. java集合框架的实现
  10. android 8 ril,Android 8.0 RIL源码分析(二)
  11. springboot-29-security(二)用户角色权限控制
  12. jest自动化测试遇到的一些报错信息及解决方案
  13. Oracle PL/SQL之NEXT_DAY - 取得下一个星期几所在的日期
  14. python编程入门 pdf-Python编程从入门到精通.pdf
  15. Abaqus齿轮链条传动仿真案例
  16. python实现排列组合公式C(m,n)求值
  17. 学生信息管理系统V2.0
  18. Pikachu靶场全关详细教学(一)
  19. scrapy_redis实现分布式爬取京东图书数据
  20. Linux(6)磁盘管理和文件系统

热门文章

  1. 五天搞定英语语法系列汇总
  2. 当我们遇到100亿次请求?该如何设计后端架构?
  3. java web课设
  4. 快播“洗白”,难道要抛弃用户?
  5. 让DedeCMS的栏目页标题显示页码数
  6. html 文本水印,当用户输入文本创建为保持可见的输入端的HTML文本水印(Create an html waterma...
  7. matlab中计算标准差std函数
  8. Unity中的布料系统
  9. 定制石墨相氮化碳量子点(C3N4-R),g-C3N4量子点修饰的MoO3/TiO2复合膜,Mn掺杂ZnS量子点,核壳结构的绿光 InP/ZnS量子点
  10. 生物信息学简介 -整理综合