美文网首页
java获取整点与凌晨的时间戳

java获取整点与凌晨的时间戳

作者: JAVA架构师的圈子 | 来源:发表于2021-03-10 22:36 被阅读0次

    Java中获取整点时间戳

    在实际的开发过程中,前端给后端传时间的时候,有时候传的是整点数值,比如:timeList=[00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24],这样传值给后端获取时间带了了一定的麻烦,首先我们需要把每一个整点转换成时间戳,在做有关时间的操作,具体做法如下:

    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.HOUR_OF_DAY, Integer.valueOf(timeList[i].toString()));
    cal.set(Calendar.SECOND, 0);
    cal.set(Calendar.MINUTE, 0);
    cal.set(Calendar.MILLISECOND, 0);
    

    在这里我们使用Java中的日期类Calendar,使用set方法设置时间点(cal.set( Calendar.HOUR_OF_DAY, Integer.valueOf(timeList[i].toString()));),这样我们就可以吧得到的整点转换成时间戳,最后使用Date类进一步操作,如下:

    new Date(cal.getTimeInMillis()/1000)
    

    最后我们得到一个时间戳,这样就转换完成。
    java获取凌晨的时间戳
    这两天有一个需求是查询用户匹配的推荐信息,包含一个有效时间段,以天为单位,0时0分0秒这种。

    通常java中有两种方案:

    第一种:Calendar。这种比较简单,也最常见。代码如下:

    Calendar c = Calendar.getInstance();  
                c.set(Calendar.HOUR_OF_DAY, 0);
                c.set(Calendar.MINUTE, 0);
                c.set(Calendar.SECOND, 0);
                c.set(Calendar.MILLISECOND, 0);
                Long today=c.getTimeInMillis()/1000;
                //加入Java开发交流君样:756584822一起吹水聊天
    

    第二种:直接操作时间戳,代码如下

    long now = System.currentTimeMillis() / 1000l;
    long daySecond = 60 * 60 * 24;
            long dayTime = now - (now + 8 * 3600) % daySecond;
    

    第二种会更好些,特别是在给定你一个时间戳取凌晨时间的时候。

    image

    最新2020整理收集的一些高频面试题(都整理成文档),有很多干货,包含mysql,netty,spring,线程,spring cloud、jvm、源码、算法等详细讲解,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友请加Q君样:756584822

    相关文章

      网友评论

          本文标题:java获取整点与凌晨的时间戳

          本文链接:https://www.haomeiwen.com/subject/szvgqltx.html