精华内容
下载资源
问答
  • 多少时间到
    千次阅读
    2018-09-26 15:50:38
    $y = date("Y", time()); //年 
    $m = date("m", time()); //月 
    $d = date("d", time()); //日 
    $t0 = date('t'); // 本月一共有几天 
    $start_month = mktime(0, 0, 0, $m, 1, $y); // 创建本月开始时间 
    $end_month = mktime(23, 59, 59, $m, $t0, $y); // 创建本月结束时间

    更多的功能和插件 地址:https://www.kancloud.cn/he_he/thinkphp5

    更多相关内容
  • * 计算传入时间距离当前时间多久 * * @param date * @return */ public static String getTimeDiff(String date) { if (ObjectUtils.isEmpty(date)) { return ""; } StringBuilder sb = new StringBu...
    /**
     * 计算传入时间距离当前时间多久
     *
     * @param date
     * @return
     */
    public static String getTimeDiff(String date) {
        if (ObjectUtils.isEmpty(date)) {
            return "";
        }
        StringBuilder sb = new StringBuilder();
        try {
            Date parse = mDateFormat.parse(date);
            Date now = new Date();
            // 这样得到的差值是微秒级别
            long diff = now.getTime() - parse.getTime();
            // 只能精确到日 无法具细到年 月 不能确定一个月具体多少天 不能确定一年具体多少天
            // 获取日
            long day = diff / (1000 * 60 * 60 * 24);
            diff = diff % (1000 * 60 * 60 * 24);
            if (day > 0) {
                sb.append(day).append("天");
            }
            // 获取时
            long hour = diff / (1000 * 60 * 60);
            diff = diff % (1000 * 60 * 60);
            if (hour > 0) {
                sb.append(hour).append("时");
            }
            // 获取分
            long min = diff / (1000 * 60);
            diff = diff % (1000 * 60);
            if (min > 0) {
                sb.append(min).append("分");
            }
            // 获取秒
            long sec = diff / 1000;
            if (sec > 0) {
                sb.append(sec).append("秒");
            }
            return sb.toString();
        } catch (ParseException e) {
            return "";
        }
    }
    
    展开全文
  • Redis有效时间设置及时间过期处理

    千次阅读 2020-12-22 17:44:30
    Redis中有个设置时间过期的功能,即对存储在redis数据库中的值可以设置一个过期时间。作为一个缓存数据库,这是非常实用的。如我们一般项目中的token或者一些登录信息,尤其是短信验证码都是有时间限制的,按照传统...

    本文对redis的过期处理机制做个简单的概述,让大家有个基本的认识。

    Redis中有个设置时间过期的功能,即对存储在redis数据库中的值可以设置一个过期时间。作为一个缓存数据库,这是非常实用的。如我们一般项目中的token或者一些登录信息,尤其是短信验证码都是有时间限制的,按照传统的数据库处理方式,一般都是自己判断过期,这样无疑会严重影响项目性能。

    一、有效时间设置:

    redis对存储值的过期处理实际上是针对该值的键(key)处理的,即时间的设置也是设置key的有效时间。Expires字典保存了所有键的过期时间,Expires也被称为过期字段。

    四种处理策略

    EXPIRE 将key的生存时间设置为ttl秒

    PEXPIRE 将key的生成时间设置为ttl毫秒

    EXPIREAT 将key的过期时间设置为timestamp所代表的的秒数的时间戳

    PEXPIREAT 将key的过期时间设置为timestamp所代表的的毫秒数的时间戳

    其实以上几种处理方式都是根据PEXPIREAT来实现的,设置生存时间的时候是redis内部计算好时间之后在内存处理的,最终的处理都会转向PEXPIREAT。

    1、2两种方式是设置一个过期的时间段,就是咱们处理验证码最常用的策略,设置三分钟或五分钟后失效,把分钟数转换成秒或毫秒存储到redis中。

    3、4两种方式是指定一个过期的时间 ,比如优惠券的过期时间是某年某月某日,只是单位不一样。

    二、过期处理

    过期键的处理就是把过期键删除,这里的操作主要是针对过期字段处理的。

    Redis中有三种处理策略:定时删除、惰性删除和定期删除。

    定时删除:在设置键的过期时间的时候创建一个定时器,当过期时间到的时候立马执行删除操作。不过这种处理方式是即时的,不管这个时间内有多少过期键,不管服务器现在的运行状况,都会立马执行,所以对CPU不是很友好。

    惰性删除:惰性删除策略不会在键过期的时候立马删除,而是当外部指令获取这个键的时候才会主动删除。处理过程为:接收get执行、判断是否过期(这里按过期判断)、执行删除操作、返回nil(空)。

    定期删除:定期删除是设置一个时间间隔,每个时间段都会检测是否有过期键,如果有执行删除操作。这个概念应该很好理解。

    看完上面三种策略后可以得出以下结论:

    4. 1、3为主动删除,2为被动删除。

    5. 1是实时执行的,对CPU不是很友好,但是这在最大程度上释放了内存,所以这种方式算是一种内存优先优化策略。

    6. 2、3为被动删除,所以过期键应该会存在一定的时间,这样就使得过期键不会被立马删除,仍然占用着内存。但是惰性删除的时候一般是单个删除,相对来说对CPU是友好的。

    7. 定期键这种删除策略是一种让人很蛋疼的策略,它既有避免1、2两种策略劣势的可能,也有同时发生1、2两种策略劣势的可能。如果定期删除执行的过于频繁就可能会演变成定时删除,如果执行的过少就有可能造成过多过期键未被删除而占用过多内存,如果时间的设置不是太好,既可能占用过多内存又同时对CPU产生不好的影响。所以。使用定期删除的时候一定要把握好这个删除的时间点。存在即为合理,既然开发的时候有这种策略,就说明定期删除还是有他的优势的,具体大家可以自己琢磨。

    三、主从服务器删除过期键处理

    参考书上说的有三种:RDB持久化、AOF持久化和复制功能。

    RDB:

    1. 主服务器模式运行在载入RDB文件时,程序会检查文件中的键,只会加载未过期的,过期的会被忽略,所以RDB模式下过期键不会对主服务器产生影响。

    2. 从服务器运行载入RDB文件时,会载入所有键,包括过期和未过期。当主服务器进行数据同步的时候,从服务器的数据会被清空,所以RDB文件的过期键一般不会对从服务器产生影响。

    AOF:

    AOF文件不会受过期键的影响。如果有过期键未被删除,会执行以下动作:

    客户端请求时(过期键):

    从数据库充删除被访问的过期键;

    追加一条DEL 命令到AOF文件;

    向执行请求的客户端回复nil(空)。

    复制:

    主服务器删除过期键之后,向从服务器发送一条DEL指令,告知删除该过期键。

    从服务器接收到get指令的时候不会对过期键进行处理,只会当做未过期键一样返回。(为了保持主从服务器数据的一致性)

    从服务器只有接到主服务器发送的DEL指令后才会删除过期键。

    参考书籍:《Redis设计与实现》黄健宏著

    ---------------------

    版权声明:本文为CSDN博主「月未明」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/qq_35981283/article/details/70156422

    展开全文
  • java计算两个时间相差多少小时

    千次阅读 2021-08-23 15:36:36
    最近有个需求,根据两个时间,计算两个时间之间相差多少个小时。 查了一下,网上有现成的工具类,而且翻来覆去都是这个工具类的复制粘贴版 摘出自己需要的。得到下面这个 private int getDifferHour(Date ...

    最近有个需求,根据两个时间,计算两个时间之间相差多少个小时。

    查了一下,网上有现成的工具类

    摘出自己需要的。得到下面这个

     private int getDifferHour(Date startDate, Date endDate) {
            long dayM = 1000 * 24 * 60 * 60;
            long hourM = 1000 * 60 * 60;
            long differ = endDate.getTime() - startDate.getTime();
            long hour = differ % dayM / hourM;
            return Integer.parseInt(String.valueOf(hour));
        }

    但是自己测试了以后才发现,当两个时间超过一天以上,就会有问题。

     设置两个时间小时数相同,天的日期不同,结果得到的结果却是:0

    回过头看一下这个工具类,思路其实很明了,就是先根据Date类的getTime() 方法获取到两个时间的毫秒数,然后计算出两个日期的毫秒数之差。按理说,只要两个毫秒数之差  除以 天 再除以 小时的毫秒数,就能得到两个时间相差的小时数。

    一天的毫秒数是1000 * 24 * 60 * 60,一个小时的毫秒数1000 * 60 * 60(1 秒 = 1000毫秒,一小时 = 60 分钟 * 60 秒 * 1000 毫秒)

    但是上图中的计算方式 

     long hour = differ % dayM / hourM

    却是先求余再取整,differ % dayM 在取余的时候把整数给舍弃了,所以当相隔天数大于一天的的时候,天数这个值竟然被我舍弃了

    舍弃一天,就舍弃24小时,那肯定是不对的。基于上面的方式,修改一下即可。

    // 24 * (differ / dayM) 这里拿到被舍弃的整数,整数是几,就代表相隔几天,一天24小时,那就整数乘以24即可。
       private static int getDifferHour(Date startDate, Date endDate) {
            long dayM = 1000 * 24 * 60 * 60;
            long hourM = 1000 * 60 * 60;
            long differ = endDate.getTime() - startDate.getTime();
            long hour = differ % dayM / hourM + 24 * (differ / dayM);
            return Integer.parseInt(String.valueOf(hour));
        }


    另外有个小插曲,根据下面这个方式测试的时候,当把起始日期parse1和结束日期parse2分别改成

    2021-08-27 12:00:00 
    2021-08-27 14:00:00

    得到的答案竟然是14,也就是12:00:00变成了00:00:00 

     观察一下,发现原来是simpleDateFormat 实例化的时候,小时,使用小写的h。这就涉及到另一个知识点了。关于SimpleDateFormat对象参数的大小写问题。HH 代表24小时制hh 代表12小时制。在12小时制中,12点会被当成0点处理。所以将hh改成 HH就可以了
     

    展开全文
  • 一、jdk8与之前的日期和时间处理类的不同: 1. Java的java.util.Date和java.util.Calendar类易用性差,不支持时区,并且是可变的,也就意味着他们都不是线程安全的; 2. 用于格式化日期的类DateFormat被放在java....
  • 世界时间换算(全球时间对照表)

    千次阅读 2021-02-05 03:06:59
    我不懂世界时间换算的时候怎么数它们之间相差的时区,还有就是我认为地球.全球划分为24个时区。它们是中时区(零时区)、东1-12区,西1-12区。每个时区横跨经度15度,时间正好是1小时。最后的东、西第12区各跨经度7.5...
  • java如何获取当前时间到第二天凌晨的秒数 原因:前两天写了一个接口,redis缓存有效时间设置到第二天的凌晨中遇到一个坑,这里记录一下。 坑在这里 public Long getSecondsNextEarlyMorning() { Calendar ...
  • 很多人以为星三角启动的转换时间一般设置在十秒以内就可以了,更有堪者电工觉得有个4、5秒就够了,其实这是一种无知。众所周知,电机启动时从静止运动需要的力矩非常大,相应的需要的电流也是非常地大,功率越是大...
  • C# 时间精确毫秒

    万次阅读 2018-03-31 10:09:52
    UTC时间转指定时差精确毫秒 //UTC时间 DateTime dt = new DateTime(2018, 3, 31, 2, 30, 10, 33); //转北京时间,毫秒精确后两位 string str = dt.AddHours(8).ToString("yyyy/MM/dd h:mm:ss.ff");//2018-3-31 ...
  • 不是很严谨的以下图反推,一个bit的时间正好就是4usec。波特率的单位应该就是比特每秒bit/s(bsp不好说明到底是bit 还是 byte) 每个字节包含11个bit,也就44usec,大概就是25k byte/s。也就是说每秒可以发送25k个...
  • 以下这段代码是获取某个时间距离当前时间的天时分秒的数据。  function showTime(){  var timeStr = $("#classTime").html(); //获得的时间字符串.  if(timeStr==null || timeStr==''){  return;
  • utc时间(utc时间转换北京时间)

    万次阅读 2021-01-16 03:02:06
    比如说UTC时间1月21日中午12:00,北京时间是?原发布者:lndl116025 UTC时间与北京时间的关系世界的每个地区都有自己的本地时间,在Internet及无线电通信时,时间的统一非常重要!整个地球分为二十四时区,每.协调...
  • 一套图 搞懂“时间复杂度”

    万次阅读 多人点赞 2019-06-04 13:12:15
    是我目前为止所看到的关于时间复杂度介绍的最好的文章,简介 清晰 明了。 所以拿来po出来 仅供学习交流,如侵则删。 现已将此文收录至:《数据结构》C语言版 (清华严蔚敏考研版) 全书知识梳理 正文: ...
  • 笔者就以小时为例子 计算出任意两个时间点之间相隔多少天 var Day_ int=0//记录玩家相距有多少天 list := time.Unix(Time, 0)//time是一个int64型的时间戳 大家可以随便放一个值 这里我们放进去一个昨天的时间戳...
  • 可以对精确毫秒的时间相减统计2个数据相差或相加计算数据之和,具体操作如下: 1、时间相减,统计2个时间点之差 (1)首先保证需要相加减时间个数一一对应 (2)选中要输入带毫秒的时间单元格区域,右击鼠标,选择...
  • java获取两个时间格式相差多少分钟

    万次阅读 2018-11-06 14:05:14
    昨天碰到一个需求,其中有一点是要从数据库里获得时间数据,然后跟当前时间比较,求得相差了多少分钟。其中比较坑的地方就是这个数据库里的时间格式是: HH:mm,当时有点被水淹没,不知所措。然后就理了一下思路,有...
  • nginx的几个超时时间

    万次阅读 2020-03-18 17:28:21
    proxy_connect_timeout:后端服务器连接的超时时间_发起握手等候响应超时时间 proxy_read_timeout:连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间) ...
  • 实际开发过程中,我们有许许多多的产品都设计时间,也有时候需要自己转化时间格式,这里推荐一个日期时间处理类库momentjs,但很多时候,我们仅仅是转化个别时间,还没必要安装这么一个依赖;这篇文章将在未来...
  • 计算一个时间戳距离当前的时间,例如: 几年前,几个月前,几天前,几小时前,几分钟前,刚刚。 输出效果 代码: let time = (new Date().getTime()) - (1000 * 60 * 60 * 24 * 31 * 12); let timeTxt = ...
  • 说明:秒部分不计算 var startTime="08:31:00"; var endTime="09:31:00"; ...//计算时间差(相差分钟) function timeDifference(startTime,endTime){ var start1=startTime.split(":"); va...
  • C语言 计算程序运行时间(精确毫秒/微秒)

    万次阅读 多人点赞 2017-12-09 10:03:01
    C语言要计算程序的运行时间,这里总结两种方法,一种是精确毫秒时间,一种是精确微秒时间 方法一:精确微秒时间 #include #include int main() { int a[10002]; int i = 0; double run_time; _LARGE_...
  • 用SimpleDateFormat和getTime()计算时间差: 1.1 初始数据: SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date timeDate1 = simpleFormat.parse("2021-01-05 12:18:16"); ...
  • 在百度上看到一个这样的代码(代码如下),它是这样的一个结果:(1)如果当前时间超过中午12:00,则返回的结果是当前时间到第二天中午12:00的秒数; (2)如果当前时间不超过中午12:00,则返回的结果是到第二天...
  • 算法时间复杂度分析(一)

    万次阅读 2019-07-03 22:50:59
    具体点来讲就是我们在实现某一种算法的时候,最终目的就是要求计算机(CPU)在最短的时间内,用最少的内存稳定的输出正确的结果。这一章节主要来理解 “快”,至于“省” 和 “稳”,我会在后续章节进行讲解。 那如何...
  • sql计算某日期当前日期的时间间距 这里用到了sql语句中的TIMESTAMPDIFF(单位,开始时间,结束时间)函数 其中单位可以为: 1、YEAR 年 2、QUARTER 季度 3、MONTH 月 4、WEEk 星期 5、DAY 天 6、HOUR 小时 7、...
  • 比如销售量是上升还是下降,销售量是否与季节有关,是否可以通过现有的数据预测未来一年的销售额是多少等。 对于时间序列的预测,由于很难确定它与其他变量之间的关系,这时我们就不能用回归去预测,而应使用时间...
  • 电脑是大家常使的办公设备,高频率的使用使其问题频发,比如说电脑时间不准确就是人们常遇到的问题。这虽然只是个小问题,不过却会给人们的生活带来不便,那么电脑时间总是不对的原因有哪些呢?电脑时间总是不对的...
  • def timediff_to_str(timestamp): onlineTime = datetime.datetime.fromtimestamp(timestamp) localTime = datetime.datetime.now() result = localTime - onlineTime hours = int(result.seconds / 3600) ...
  • 设置Redis客户端连接的超时时间

    千次阅读 2021-04-28 08:38:52
    为了让Redis主动清理长时间空闲的客户端连接,回收资源,您可以设置timeout参数来限制客户端连接的空闲时间。 前提条件 实例为Redis 4.0或以上版本的标准版云数据库Redis实例。 说明集群版或读写分离版Redis实例...
  • 2、order by COMMENT_TIME desc作用:根据COMMENT_TIME时间属性降序 3、limit #{startRow, jdbcType=INTEGER} , #{pageSize, jdbcType=INTEGER}作用:进行分页查询,startRow表示第几页,pageSize...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,510,878
精华内容 604,351
关键字:

多少时间到