Java时间工具类封装
public class DateUtil {
/**
* 获取当前日期 时间格式yyyyMMdd可以定义自己需要的
*
* @return yyyyMMdd 年月日
*/
public static String getCurrentDate() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
return sdf.format(new Date());
}
/**
* 获取当前时间
* @return HHmmss 时分秒
*/
public static String getCurrentTime() {
SimpleDateFormat sdf = new SimpleDateFormat("HHmmss");
return sdf.format(new Date());
}
/**
* 获得当前时间 转换为时间戳类型
* @param
* @return
* @throws ParseException
*/
public static Timestamp getCurTime2Timestamp() throws ParseException {
Timestamp t = new Timestamp(System.currentTimeMillis());
String d2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(t);
Timestamp.valueOf(d2);
return t;
}
/**
* 获取当天的启始时间
*
* @return
*/
public static String getStartTime() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
Date start = calendar.getTime();
calendar.add(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.SECOND, -1);
Date end = calendar.getTime();
return sdf.format(start);
}
/**
* 比较两个日期的大小
*/
public static boolean compare(Date d1, Date d2) {
if (d1.after(d2)) {
return true;
} else {
return false;
}
}
/**
* 判断是否是闰年
*/
public boolean isLeapyear(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
} else {
return false;
}
}
/**
* @author zhaoweia 月份相减
* @param startDate
* @param enDate
* @return startDate - enDate
*/
public static int divMonth(Date startDate, Date enDate) {
Calendar startCalendar = Calendar.getInstance();
startCalendar.setTime(startDate);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(enDate);
int yearDiv = startCalendar.get(Calendar.YEAR) - endCalendar.get(Calendar.YEAR);
int monthDiv = startCalendar.get(Calendar.MONTH) - endCalendar.get(Calendar.MONTH);
return monthDiv + yearDiv * 12;
}
/**
* 时间计算一 当前日期+毫秒数
* @return
* @throws ParseException
*/
public static String dateAdd(String numData) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse(format.format(new Date()));
Date date2 = new Date(date.getTime() + Long.parseLong(numData));
String str = format.format(date2);
return str;
}
/**
* 时间计算二 传过来的日期+毫秒
* @param pat1(日期)
* @param pat2(毫秒)
* @return
* @throws ParseException
*/
public static String dateAdd(String pat1, String pat2) throws ParseException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date2 = new Date(dateFormat.parse(pat1).getTime() + Long.parseLong(pat2));
String str = dateFormat.format(date2);
return str;
}
/**
* 天数转毫秒
* @param stringDay(天数)
* @return
*/
public static String dateToMillisecond(String stringDay) {
Long a = Long.parseLong(stringDay) * 24L * 60L * 60L * 1000L;
return a.toString();
}
}