引入
今天在做查询今天某用户的订单数,是想获取今天零点时间戳,只要比今天零点时间戳大的当然是今天的时间戳咯,然后按条件查询就行了。
那么今天零点的时间戳怎么获得?
时间戳概念
时间戳是指格林威治时间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,。