相关功能目录:
- 根据日期转星期
- 根据日期获取前后n天的日期
- 根据时间获取当前日份
- 获取往前或往后退n个小时的整点时间
- 获取往前或往之后n分钟的时间
1.根据日期转星期
/**
*
* @title getWeekOfDate
* @Description 根据日期转星期
* @author chenlf
* @param date
* @param type 日期格式
* @return
*/
public static String getWeekOfDate(Date date, String type) {
//type = 1
String[] weekDaysName = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
//type = 2
String[] weekDaysCode = { "七","一", "二", "三", "四", "五", "六" };
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int intWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
type = StringUtils.isBlank(type)?"2":"1";
switch (type) {
case "1":
return weekDaysName[intWeek];
case "2":
return weekDaysCode[intWeek];
default:
return weekDaysCode[intWeek];
}
}
2.根据日期获取前后n天的日期
/**
*
* @title getDate
* @Description 根据日期获取前后n天的日期
* @author chenlf
* @param date
* @param day
* @return
*/
public static Date getDate(Date date, int day){
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.DATE, day);
return c.getTime();
}
3.根据时间获取当前日份
/**
*
* @title getDay
* @Description 根据时间获取当前日份
* @author chenlf
* @param date
* @return
*/
public static int getDay(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
return c.get(Calendar.DAY_OF_MONTH);
}
4.获取往前或往后退n个小时的整点时间
/**
*
* @title getHourTime
* @Description 获取往前或往后退n个小时的整点时间
* eg:
* 13:12 --> 获取12:00 则 n=-1
* --> 获取14:00 则 n=1
* @author chenlf
* @param date 时间
* @param n 小时
* @return
*/
public static Date getHourTime (Date date, int n) {
Calendar ca = Calendar.getInstance();
ca.set(Calendar.MINUTE, 0);
ca.set(Calendar.SECOND, 0);
ca.set(Calendar.HOUR_OF_DAY, ca.get(Calendar.HOUR_OF_DAY)+n);
return ca.getTime();
}
5.获取往前或往之后n分钟的时间
/**
*
* @title getMinuteTime
* @Description 获取往前或往之后n分钟的时间
* @author chenlf
* @param date 时间
* @param min 分钟
* @return
*/
public static Date getMinuteTime (Date date, int min) {
Calendar ca = Calendar.getInstance();
ca.setTime(date);
ca.add(Calendar.MINUTE, min);
return ca.getTime();
}