获取当前周日期
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
System.out.println(calendar.getTime());
}
输出结果
获取周日23:59:59的日期及时间戳
public static void main(String[] args){
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
calendar.set(Calendar.AM_PM, Calendar.PM);
calendar.set(Calendar.HOUR, 11);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
System.out.println(calendar.getTime());
System.out.println(calendar.getTimeInMillis());
}
输出结果:
获取当前时间到周日23:59:59的时间差
public static void main(String[] args) {
Date nowDate = new Date(); //当前时间
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
calendar.set(Calendar.AM_PM, Calendar.PM);
calendar.set(Calendar.HOUR, 11);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
//2、时间戳相减
long yesterdayDateTime = calendar.getTimeInMillis();//周日时间戳
long nowDateTime = nowDate.getTime();//当前时间戳
int result = (int) (yesterdayDateTime - nowDateTime);//毫秒
//3、换算成秒
int diffSecond = result / 1000; //1000毫秒等于1秒
System.out.println(diffSecond); //108296 秒
//4、换算成分钟
int diffMinute = result / 1000 / 60;//60秒等于1分钟
System.out.println(diffMinute);//1805 分钟
//5、换算成是小时
int diffHour = result / 1000 / 60 / 60;//60分钟等于1小时
System.out.println(diffHour);//30小时
//6、换算成天
int diffDay = result / 86400000;
System.out.println(diffDay);//1天
}
输出结果: