Java Date工具类

/**
 * @descrition:  获取当天00:00
 * @param date :
 * @return : java.util.Date
 */
public static Date getFirstTimeOfDay(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);
    return calendar.getTime();
}


/**
 * @descrition:  获取当天23:59
 * @param date :
 * @return : java.util.Date
 */
public static Date getLastTimeOfDay(Date date) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    calendar.set(Calendar.HOUR_OF_DAY, 23);
    calendar.set(Calendar.MINUTE, 59);
    calendar.set(Calendar.SECOND, 59);
    calendar.set(Calendar.MILLISECOND, 999);
    return calendar.getTime();
}
/**
 * 不比较日期,只比较时间
 */
@SuppressWarnings("all")
public static int compareTimeNoDate(Date date1, Date date2){
    long d1 = date1.getHours()*3600 + date1.getMinutes()*60 + date1.getSeconds();
    long d2 = date2.getHours()*3600 + date2.getMinutes()*60 + date2.getSeconds();
    if (d1>d2){
        return 1;
    }else if (d1 == d2){
        return 0;
    }else {
        return -1;
    }
}
/**
 * 返回日期列表,包含起始时期与结束日期,时分秒毫秒都为0
 */
public static List<Date> getDateList(Date start1, Date end1){
    Date start = getFirstTimeOfDay(start1);
    Date end = getLastTimeOfDay(end1);
    List<Date> list = new ArrayList<>();
    if (start.getDate() == end.getDate()){
        list.add(start);
        return list;
    }
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(start);

    while (calendar.getTime().before(end)){
        list.add(getFirstTimeOfDay(calendar.getTime()));
        calendar.add(Calendar.DAY_OF_MONTH, 1);
    }
    return list;
}
/**
 * 将一个日期列表的时间转化为 00:00:00.0
 */
public static List<Date> clearDateListTime(List<Date> list){
    List<Date> dates = new ArrayList<>();
    for (Date date : list) {
        dates.add(getFirstTimeOfDay(date));
    }
    return dates;
}
/**
 * 获取第二天的0点
 */
public static Date getTomorrow(){
    Calendar calendar = Calendar.getInstance();
    calendar.add(Calendar.DAY_OF_MONTH, 1);
    return getFirstTimeOfDay(calendar.getTime());
}

 

posted @ 2020-09-14 15:16  it00zyq  阅读(91)  评论(0)    收藏  举报