java 获得今天零点时间戳

引入

今天在做查询今天某用户的订单数,是想获取今天零点时间戳,只要比今天零点时间戳大的当然是今天的时间戳咯,然后按条件查询就行了。

那么今天零点的时间戳怎么获得?

时间戳概念

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。这个是百度的。

那么就好办了。

获得今天零点时间戳

下面我取的是今天零点毫秒时间戳也就是距格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。

java自带获得当前毫秒时间戳的方法是System.currentTimeMillis(),零点是24小时轮回的零界点。所以我们把当前时间戳取24小时毫秒数取余,然后用当前毫秒时间戳减这个余就行。

 /**
     * @Author:whf
     * @param:
     * @Description: 获得“今天”零点时间戳 获得2点的加上2个小时的毫秒数就行
     * @Date:2018/4/12 0012
     */
    public static Long getTodayZeroPointTimestamps(){
            Long currentTimestamps=System.currentTimeMillis();
            Long oneDayTimestamps= Long.valueOf(60*60*24*1000);
            return currentTimestamps-(currentTimestamps+60*60*8*1000)%oneDayTimestamps;
    }

加上8小时的毫秒数是因为毫秒时间戳是从北京时间1970年01月01日08时00分00秒开始算的,这样今天零点取oneDayTimestamps的余就是0,。

你可能感兴趣的:(java复习笔记)