Redis缓存有效时间设置到第二天凌晨的秒数
错误案例
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缓存有效时间设置到第二天凌晨的秒数相关推荐
- java如何获取当前时间到第二天凌晨的秒数
java如何获取当前时间到第二天凌晨的秒数 原因:前两天写了一个接口,redis缓存有效时间设置到第二天的凌晨中遇到一个坑,这里记录一下. 坑在这里 public Long getSecondsNex ...
- java判断当前时间距离第二天凌晨的秒数
/*** 判断当前时间距离第二天凌晨的秒数** @return 返回值单位为[s:秒]*/public Long getSecondsNextEarlyMorning() {Calendar cal ...
- Sringboot2.x整合Redis缓存,设置过期时间
目录结构: pom.xml <dependencies><!--Spring整合redis包 --><dependency><groupId>org.s ...
- 获取昨天凌晨毫秒数_Java 获取当前时间距离当天凌晨的秒数
在前期项目中遇到一个客户端与服务器间的时间同步问题,需要获取到当前时间与当天凌晨时间距离的秒数,写这篇文章主要是为了总结一下经验提升方便日后温习,以下是具体的测试代码: Junit的maven依赖: ...
- asp.net html5 缓存,ASP.NET 缓存有效时间设置解决思路
C# codeusing System; using System.Web.Caching; using System.Web; using System.Collections; using Sys ...
- java——如何获取当前时间到第二天凌晨(12点)的秒的差值(或者分钟的差值)
前天在写注册领红包的一个需求时候,用redis控制每天给用户弹窗的一个数量,规定了这个redis缓存的有效期就是凌晨12点.遇到了问题,但是最后还是给解决了:在这记录一下. 在百度上看到一个这样的代码 ...
- redis缓存雪崩、缓存击穿和缓存穿透还傻傻分不清?看这篇就够了
前言 关于Redis的高频问题,缓存雪崩.缓存击穿和缓存穿透一定少不了,相信大家在面试中都被问到过类似的问题.为什么这些问题一直热门呢?因为我们在使用Redis缓存时,这些问题都是很容易遇到的.接下来 ...
- Java操作redis设置第二天凌晨过期
场景: 在做查询数据的时候,遇到了需要设置数据在redis中第二天过期的问题,但是redis又没有对应的API,就只好自己来解决了 思路: 计算出第二天凌晨与当前时间的时间差,将该时间差设置为redi ...
- redis缓存失效时间设为多少_Redis有效时间设置及时间过期处理
本文对redis的过期处理机制做个简单的概述,让大家有个基本的认识. Redis中有个设置时间过期的功能,即对存储在redis数据库中的值可以设置一个过期时间.作为一个缓存数据库,这是非常实用的.如我 ...
最新文章
- Windows Phone 7 SDK 7.1 Beta2 发布
- 地球5000年变化全景动画——看完叹了口气:整个世界安静了
- linux下postgresql服务,Linux下PostgreSQL数据库安装、配置与日常服务管理
- 考研初试成绩陆续公布,说说你的考研故事
- 《Redis官方文档》Redis调试指南
- github 创建文件夹
- 【51单片机快速入门指南】4.3.2: MPU6050:一阶互补滤波、二阶互补滤波和卡尔曼滤波获取欧拉角
- Android实现圆角照片和圆形照片
- java集合框架的实现
- android 8 ril,Android 8.0 RIL源码分析(二)
- springboot-29-security(二)用户角色权限控制
- jest自动化测试遇到的一些报错信息及解决方案
- Oracle PL/SQL之NEXT_DAY - 取得下一个星期几所在的日期
- python编程入门 pdf-Python编程从入门到精通.pdf
- Abaqus齿轮链条传动仿真案例
- python实现排列组合公式C(m,n)求值
- 学生信息管理系统V2.0
- Pikachu靶场全关详细教学(一)
- scrapy_redis实现分布式爬取京东图书数据
- Linux(6)磁盘管理和文件系统
热门文章
- 五天搞定英语语法系列汇总
- 当我们遇到100亿次请求?该如何设计后端架构?
- java web课设
- 快播“洗白”,难道要抛弃用户?
- 让DedeCMS的栏目页标题显示页码数
- html 文本水印,当用户输入文本创建为保持可见的输入端的HTML文本水印(Create an html waterma...
- matlab中计算标准差std函数
- Unity中的布料系统
- 定制石墨相氮化碳量子点(C3N4-R),g-C3N4量子点修饰的MoO3/TiO2复合膜,Mn掺杂ZnS量子点,核壳结构的绿光 InP/ZnS量子点
- 生物信息学简介 -整理综合