/*** * 时间增加N分钟 * @param date * @param minutes * @return */ publicstatic Date addDateMinutes(Date date, int minutes){ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); // 24小时制 calendar.add(Calendar.MINUTE, minutes); date = calendar.getTime(); return date; }
/** * 时间递增N小时 * @param date 传入日期(把时间段日期传入) * @param hour 递增时间(小时) * @return */ publicstatic Date addDateHour(Date date, int hour){ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); // 24小时制 calendar.add(Calendar.HOUR, hour); date = calendar.getTime(); return date; }
/*** * 获取时间菜单 * 从当前时间所在时间段的整点开始,往后四个时间段 * @return */ publicstatic List<Date> getDateMenus(){ //定义一个List<Date>集合,存储所有时间段 List<Date> dates = getDates(12); //判断当前时间属于哪个时间范围 Date now = new Date(); for (Date cdate : dates) { //开始时间<=当前时间<开始时间+2小时 if (cdate.getTime() <= now.getTime() && now.getTime() < addDateHour(cdate, 2).getTime()) { now = cdate; break; } }
//当前需要显示的时间菜单 //从当前时间段开始往后4个时间段,一共5个时间段 List<Date> dateMenus = new ArrayList<Date>(); for (int i = 0; i < 5; i++) { dateMenus.add(addDateHour(now, i * 2)); } return dateMenus; }
/*** * 指定时间往后N个时间间隔 * @param hours 获取多少个时间间隔 * @return */ publicstatic List<Date> getDates(int hours){ List<Date> dates = new ArrayList<Date>(); //循环12次 //从当前日期的凌晨开始 Date date = toDayStartHour(new Date()); for (int i = 0; i < hours; i++) { //每次递增2小时,将每次递增的时间存入到List<Date>集合中 dates.add(addDateHour(date, i * 2)); } return dates; }