public classDateUtil {/***
* 从yyyy-MM-dd HH:mm格式转成yyyyMMddHH格式
*@paramdateStr
*@return
*/
public staticString formatStr(String dateStr){
SimpleDateFormat simpleDateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm");try{
Date date=simpleDateFormat.parse(dateStr);
simpleDateFormat= new SimpleDateFormat("yyyyMMddHH");returnsimpleDateFormat.format(date);
}catch(ParseException e) {
e.printStackTrace();
}return null;
}/***
* 获取指定日期的凌晨
*@return
*/
public staticDate toDayStartHour(Date date){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY,0);
calendar.set(Calendar.MINUTE,0);
calendar.set(Calendar.SECOND,0);
calendar.set(Calendar.MILLISECOND,0);
Date start=calendar.getTime();returnstart;
}/***
* 时间增加N分钟
*@paramdate
*@paramminutes
*@return
*/
public static Date addDateMinutes(Date date,intminutes){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MINUTE, minutes);//24小时制
date =calendar.getTime();returndate;
}/***
* 时间递增N小时
*@paramhour
*@return
*/
public static Date addDateHour(Date date,inthour){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.HOUR, hour);//24小时制
date =calendar.getTime();returndate;
}/***
* 获取时间菜单
*@return
*/
public static ListgetDateMenus(){//定义一个List集合,存储所有时间段
List dates = new ArrayList();//循环12次
Date date = toDayStartHour(new Date()); //凌晨
for (int i = 0; i <12 ; i++) {//每次递增2小时,将每次递增的时间存入到List集合中
dates.add(addDateHour(date,i*2));
}//判断当前时间属于哪个时间范围
Date now = newDate();for(Date cdate : dates) {//开始时间<=当前时间
if(cdate.getTime()<=now.getTime() && now.getTime()
now=cdate;break;
}
}//当前需要显示的时间菜单
List dateMenus = new ArrayList();for (int i = 0; i <5 ; i++) {
dateMenus.add(addDateHour(now,i*2));
}returndateMenus;
}/***
* 时间转成yyyyMMddHH
*@paramdate
*@return
*/
public staticString date2Str(Date date){
SimpleDateFormat simpleDateFormat= new SimpleDateFormat("yyyyMMddHH");returnsimpleDateFormat.format(date);
}
}