JAVA工具类-日期处理DateUtil
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* @author v_wbyfli
* @version V1.0
* @date 2018/6/6 16:24
*/
public class DateUtils {
public final static String YMDHMS = "yyyyMMddHHmmss";
public final static String YMD_HMS = "yyyy-MM-dd HH:mm:ss";
public final static String YMD_HM = "yyyy-MM-dd HH:mm";
public final static String HM = "HH:mm";
public final static String HMS = "HH:mm:ss";
public final static String YMD = "yyyy-MM-dd";
public final static String YMD2 = "yyyyMMdd";
private static Logger log = LoggerFactory.getLogger(DateUtils.class);
/**
* @param currDate
* @param startDate
* @param endDate
* @return boolean
* @function:判断当前时间是否在两个时间之间
*/
public static boolean betweenTime(Date currDate, Date startDate,
Date endDate) {
boolean b = false;
try {
if (currDate.getTime() >= startDate.getTime()
&& currDate.getTime() <= endDate.getTime()) {
b = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return b;
}
public static int compareDateYMDHM(String time1, String time2) {
Date date1 = null;
try {
date1 = getDateTime_YMDHM(time1);
Date date2 = getDateTime_YMDHM(time2);
return date1.compareTo(date2);
} catch (ParseException e) {
log.error("时间比较报错: time1: " + time1 + " ,time2" + time2);
e.printStackTrace();
throw new RuntimeException(e);
}
}
/**
* 获取指定hour小时的前后minute分钟的时间
*
* @param hour
* @param minute
* @return Date
*/
public static Date getAfterMinutesDate(int hour, int minute) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, 0);
Date time = calendar.getTime();
return time;
}
public static String getLastDateTime() {
Calendar cal = Calendar.getInstance();
//过去12小时间
cal.add(Calendar.HOUR_OF_DAY, -12);
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = dateFormat.format(cal.getTime());
log.debug("getLastDateTime: " + dateStr);
return dateStr;
}
public static String getDateTimeStr(Date date, String format) {
DateFormat dateFormat = new SimpleDateFormat(format);
String dateStr = dateFormat.format(date);
log.debug("getDateTimeStr: " + dateStr);
return dateStr;
}
public static String getDateTimeStr_YMDHMS(Date date) {
String format = YMD_HMS;
DateFormat dateFormat = new SimpleDateFormat(format);
String dateStr = dateFormat.format(date);
return dateStr;
}
public static String getDateTimeStrYMDHMS(Date date) {
String format = YMDHMS;
DateFormat dateFormat = new SimpleDateFormat(format);
String dateStr = dateFormat.format(date);
return dateStr;
}
public static String getDateTimeStr_YMDHM(Date date) {
String format = YMD_HM;
DateFormat dateFormat = new SimpleDateFormat(format);
String dateStr = dateFormat.format(date);
return dateStr;
}
public static String getDateTimeStr_YMD(Date date) {
String format = YMD;
DateFormat dateFormat = new SimpleDateFormat(format);
String dateStr = dateFormat.format(date);
return dateStr;
}
public static String getDateTimeStr_YMD2(Date date) {
String format = YMD2;
DateFormat dateFormat = new SimpleDateFormat(format);
String dateStr = dateFormat.format(date);
return dateStr;
}
public static Date getDateTime_YMDHMS(String timeStr) throws ParseException {
String format = YMD_HMS;
DateFormat dateFormat = new SimpleDateFormat(format);
Date date = dateFormat.parse(timeStr);
return date;
}
public static Date getDateTime_YMDHM(String timeStr) throws ParseException {
String format = YMD_HM;
DateFormat dateFormat = new SimpleDateFormat(format);
Date date = dateFormat.parse(timeStr);
return date;
}
public static Date getDateTime_YMD(String timeStr) throws ParseException {
String format = YMD;
DateFormat dateFormat = new SimpleDateFormat(format);
Date date = dateFormat.parse(timeStr);
return date;
}
/**
* 获取星期
*
* @param date
* @return
* @throws ParseException
*/
public static String getDateWeekNum(Date date) throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("E");
String weekNum = dateFormat.format(date);
return weekNum;
}
/**
* 获取星期
*
* @param date
* @return
* @throws ParseException
*/
public static String getDateWeek(Date date) {
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (w < 0) {
w = 0;
}
return weekDays[w];
}
}