日期工具类

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {

public static final String DATE = "yyyy/MM/dd";

public static final String Date = "yyyy-MM-dd";

public static final String TIME = "HH:mm:ss";

public static final String DATE_TIME = "yyyy/MM/dd HH:mm:ss";

public static final String Date_TIME = "yyyy-MM-dd HH:mm:ss";

public static final String DateTime = "yyyyMMddHHmmss";

/**
* 自定义时间格式化
* @param date
* @param simpleDateFormat
* @return
*/
public static String customFormat(Date date, String simpleDateFormat){
SimpleDateFormat sdf = new SimpleDateFormat(simpleDateFormat);
return sdf.format(date);
}

/**
* 获取当前时间 yyyy-MM-dd HH:mm:ss
* @return 字符类型时间
*/
public static String nowFormatStr(){
return customFormat(new Date(), Date_TIME);
}

/**
* 获取当前时间 yyyyMMddHHmmss
* @return 字符类型时间
*/
public static String nowFormatStrTwo(){
return customFormat(new Date(), DateTime);
}

/**
* 判断日期大小
* 前者小 返回-1
* 前者大 返回1
* 相等 返回0
* @param date1
* @param date2
* @return
*/
public static int compareTo(Date date1, Date date2){
return date1.compareTo(date2);
}

/**
* 判断与当前时间戳的相差的毫秒数
* @return
*/
public static long timestampDifferByNow(long timestamp){
long millis = System.currentTimeMillis();
return Math.abs(timestamp-millis);
}

/**
* 判断指定的时间戳与当前时间是否超时
* @param timestamp
* @param second 在有效期内的秒数
* @return
*/
public static boolean judgeTimeOutBySecond(long timestamp, long second){
long differ = timestampDifferByNow(timestamp);
return differ/1000 >= second;
}

/**
* 判断指定的时间戳与当前时间是否超时
* @param timestamp
* @param MS 毫秒
* @return
*/
public static boolean judgeTimeOutByMS(long timestamp, long MS){
long differ = timestampDifferByNow(timestamp);
return differ >= MS;
}

/**
* 获取两个Date之间相差的天数
* @param begintime
* @param endtime
* @return
*/
public static Double getDaysDiffer(Date begintime, Date endtime) {
long time01 = begintime.getTime();
long time02 = endtime.getTime();
long diff = Math.abs(time01 - time02)/1000;
return diff / 86400.0;
}

/**
* 获取两个Date之间相差的天数(向上取整)
* @param begintime
* @param endtime
* @return
*/
public static Integer getDaysCeilDiffer(Date begintime, Date endtime) {
Double days = getDaysDiffer(begintime, endtime);
return Double.valueOf(Math.ceil(days)).intValue();
}

/**
* 获取两个Date之间相差的天数(向下取整)
* @param begintime
* @param endtime
* @return
*/
public static Integer getDaysFloorDiffer(Date begintime, Date endtime) {
Double days = getDaysDiffer(begintime, endtime);
return Double.valueOf(Math.floor(days)).intValue();
}

}

原文地址:https://www.cnblogs.com/small-panda/p/14367007.html