1. 程式人生 > 其它 >關於日期的比較用calendar的情況。a比c早,返回-1,a=c 返回0 a比c晚 返回1 a.compareTo(c)

關於日期的比較用calendar的情況。a比c早,返回-1,a=c 返回0 a比c晚 返回1 a.compareTo(c)

SimpleDateFormat onlyTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
Calendar calendarNow = Calendar.getInstance();


java.util.Date reptScheduledTime = onlyTimeFormat.parse(m.get("reptScheduledTime").toString());
java.util.Date start = onlyTimeFormat.parse(m.get("reptStartTime").toString());

java.util.Date end = onlyTimeFormat.parse(m.get("reptEndTime").toString());
calendar.set(Calendar.YEAR,start.getYear());
calendar.set(Calendar.MONTH,start.getMonth());
calendar.set(Calendar.DATE,start.getDate());

calendar.set(Calendar.HOUR_OF_DAY, start.getHours());
calendar.set(Calendar.MINUTE, start.getMinutes());
calendar.set(Calendar.SECOND, start.getSeconds());
System.out.println("calendar"+calendar);

Calendar endCalendar = Calendar.getInstance();
endCalendar.set(Calendar.YEAR,end.getYear());
endCalendar.set(Calendar.MONTH,end.getMonth());
endCalendar.set(Calendar.DATE,end.getDate());

endCalendar.set(Calendar.HOUR_OF_DAY, end.getHours());
endCalendar.set(Calendar.MINUTE, end.getMinutes());
endCalendar.set(Calendar.SECOND, end.getSeconds());
System.out.println("endCalendar:"+endCalendar);
// 如果指定執行時間大於當前時間,則暫時不執行此次任務
//if (calendar.compareTo(calendarNow) >0 &&calendarNow.compareTo(endCalendar)>0)
if (endCalendar.compareTo(calendarNow) > 0) {
paramsUpdateMap.put("pushStatus", "已結束");}
if (calendar.compareTo(calendarNow) > 0||calendarNow.compareTo(endCalendar)>0) {
paramsUpdateMap.put("pushStatus", "未生效");}
else{
paramsUpdateMap.put("pushStatus", "生效中");}