在项目中涉及到了一个时间差和时间段的获取,在此记录,仅供参考。java
package util; import java.sql.Timestamp; import java.util.TimeZone; public class Time { //此时时间若是在晚上八点后就返回到明晚八点的时间差,若是未到八点就返回到今晚八点的时间差 public static long getTimeDiff() { long current=System.currentTimeMillis();//当前时间毫秒数 long zero=current/(1000*3600*24)*(1000*3600*24)- TimeZone.getDefault().getRawOffset();//今天零点零分零秒的毫秒数 long todayEighteen=zero+20*60*60*1000-1;//今天19点59分59秒的毫秒数 long tomorrowEighteen =todayEighteen + 24*60*60*1000-1 ; //明天19点59分59秒的毫秒数 if(current>todayEighteen){ Long different = tomorrowEighteen - current; return different; }else{ Long different = todayEighteen -current; return different; } } //获取当天早上八点到晚上八点 public static Timestamp[] getTimePeriod(){ long current=System.currentTimeMillis();//当前时间毫秒数 long zero=current/(1000*3600*24)*(1000*3600*24)- TimeZone.getDefault().getRawOffset();//今天零点零分零秒的毫秒数 long morning= zero+8*60*60*1000-1; //昨天20点00分01的毫秒数 long evening=zero+20*60*60*1000-1;//今天19点59分59秒的毫秒数 Timestamp [] timeList = new Timestamp[2]; timeList[0]=new Timestamp(morning); timeList[1]=new Timestamp(evening); return timeList; } }

扫码关注做者我的技术公众号,有关技术问题后台回复便可,不按期将有学习资源分享