有個獲取登陸用戶是否每天第一次登陸系統需求,考慮不需要入庫操作,就用redis設置key每天凌晨0點刪除
/**
* 獲取當前時間到凌晨12點的秒數
* @return
*/
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;
}
//cal.set(Calendar.HOUR,0);此方法如果當前時間超過中午12點,則返回的結果是當前時間到明天中午十二點的秒數,如果當前時間不超過中午12:00,則返回的結果是到第二天凌晨的秒數
//cal.set(Calendar.HOUR_OF_DAY, 0);無論當前時間是否超過中午12:00,獲取的都是到第二天凌晨的秒數。
Calendar.HOUR:12小時制。
Calendar.HOUR_OF_DAY :24小時制。