日期工具类,呕心沥血整理的,不好用捶我

整理的是我自己平时经常会用到的对时间的一些操作!

贴心之作!!

 

 

import org.apache.commons.lang3.StringUtils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * @ProjectName: git-dev
 * @Package: com.zy.auction.controller
 * @ClassName: DateUtils
 * @Author: zxq
 * @Description: 日期工具类
 * @Date: 2021/3/17 10:06 上午
 */
public class DateUtils {

    public interface DATE_FMT {
        /** 星期几的格式 */
        public static String EEEE = "EEEE";
        /** MM/dd */
        public static String MM_DD = "MM/dd";
        /** MM:dd */
        public static String HH_MM = "HH:mm";
        /** HHmmss */
        public static String HHMMSS = "HHmmss";
        /** HH:mm:ss */
        public static String HH_MM_SS = "HH:mm:ss";
        /** yyyyMMdd */
        public static String YYYYMMDD = "yyyyMMdd";
        /** yyyy-MM-dd */
        public static String YYYY_MM_DD = "yyyy-MM-dd";
        /** yyyy/MM/dd */
        public static String YYYYLMMLDD = "yyyy/MM/dd";
        /** yyyy年MM月dd日 */
        public static String YYYY年MM月DD日 = "yyyy年MM月dd日";
        /** yyyy年MM月dd日 HH时mm分ss秒 */
        public static String YYYY年MM月DD日HH时MM分SS秒 = "yyyy年MM月dd日 HH时mm分ss秒";
        /** yyyyMMddHHmmss */
        public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
        /** yyyyMMddHHmmssSSS */
        public static String YYYYMMDDHHMMSSSSS = "yyyyMMddHHmmssSSS";
        /** yyMMddHHmmssSSS */
        public static String YYMMDDHHMMSSSSS = "yyMMddHHmmssSSS";
        /** yyyy-MM-dd HH:mm:ss */
        public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
    }


    /**
     * 格式化日期字符串;日期字符串旧格式 = > 日期字符串新格式
     *
     * @param dateStr: 日期字符串,例:20210317102730
     * @param oldFmt:  旧日期格式,例:yyyyMMddHHmmss
     * @param newFmt:  新日期格式,例:yyyy-mm-dd HH:mm:ss
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/17 10:12 上午
     */
    public static String format(String dateStr, String oldFmt, String newFmt) {
        Date date = new Date();
        try {
            //先按照原格式转换为时间
            date = new SimpleDateFormat(oldFmt).parse(dateStr);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        //再将时间转换为对应格式字符串
        String str = new SimpleDateFormat(newFmt).format(date);
        return str;
    }

    /**
     * 格式化日期 :YYYY-MM-DD
     *
     * @param date: 日期字符串
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/17 10:18 上午
     */
    public static String format(Date date) {
        return format(date, DateUtils.DATE_FMT.YYYY_MM_DD);
    }

    /**
     * 格式化日期为指定格式,不指定格式则返回:YYYY-MM-DD
     *
     * @param date: 时间
     * @param fmt:  日期格式;
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/17 10:18 上午
     */
    public static String format(Date date, String fmt) {
        if (date == null) {
            return null;
        }
        if (StringUtils.isEmpty(fmt)) {
            return format(date);
        }
        return new SimpleDateFormat(fmt).format(date);
    }

    /**
     * 字符串转日期类型;得到的日期格式为 => YYYY-MM-DD
     *
     * @param date: 日期字符串;
     * @return: java.util.Date
     * @author: zxq
     * @date: 2021/3/17 10:47 上午
     */
    public static Date format(String date) {
        return format(date, DateUtils.DATE_FMT.YYYY_MM_DD);
    }

    /**
     * 字符串转日期类型;默认日期格式为 => YYYY-MM-DD
     *
     * @param date: 时间
     * @param fmt:  日期格式;设置的日期格式必须与字符串格式一直,不然会异常
     * @return: java.lang.Date
     * @author: zxq
     * @date: 2021/3/17 10:18 上午
     */
    public static Date format(String date, String fmt) {
        if (date == null) {
            return null;
        }
        if (StringUtils.isEmpty(fmt)) {
            return format(date);
        }
        Date retDate = null;
        try {
            SimpleDateFormat sf = new SimpleDateFormat(fmt);
            retDate = sf.parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return retDate;
    }


    /**
     * 字符串格式化后转字符串类型;不指定格式则返回:YYYY-MM-DD
     *
     * @param date: 需要格式化的时间
     * @param fmt:  日期格式;默认:YYYY-MM-DD
     * @param o:    无效参数,只是为了防止方法重复,可设任意值
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/18 11:26 上午
     */
    public static String format(String date, String fmt, Integer o) {
        return format(format(date, fmt), fmt);

    }

    /**
     * 日期格式化后转日期类型;不指定格式则返回:YYYY-MM-DD
     *
     * @param date: 需要格式化的时间
     * @param fmt:  日期格式;默认:YYYY-MM-DD
     * @param o:    无效参数,只是为了防止方法重复,可设任意值
     * @return: java.lang.Date
     * @author: zxq
     * @date: 2021/3/18 11:26 上午
     */
    public static Date format(Date date, String fmt, Integer o) {
        return format(format(date, fmt), fmt);

    }

    /**
     * 获取当前时间;格式为 => YYYY-MM-DD
     *
     * @param :
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/17 11:29 上午
     */
    public static String getCurrentDate() {
        return format(new Date(), DateUtils.DATE_FMT.YYYY_MM_DD);
    }

    /**
     * 获取当前时间
     *
     * @param fmt: 时间格式;默认 => YYYY-MM-DD
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/17 11:26 上午
     */
    public static String getCurrentDate(String fmt) {
        if (StringUtils.isEmpty(fmt)) {
            return getCurrentDate();
        }
        return format(new Date(), fmt);
    }

    /**
     * 添加时间/减去时间;n年n月n日n时n分n秒
     *
     * @param date:  时间
     * @param field: 格式;Calendar.YEAR/MONTH/DATE/HOUR/MINUTE/SECOND
     * @param n:     时长;正数=加,负数=减
     * @return: java.util.Date
     * @author: zxq
     * @date: 2021/3/17 12:02 下午
     */
    public static Date addSubtractDate(Date date, int field, int n) {
        if (date == null) {
            return null;
        }
        date = format(date, DATE_FMT.YYYY_MM_DD_HH_MM_SS, null);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(field, n);
        return calendar.getTime();
    }

    /**
     * 添加时间/减去时间;n年n月n日n时n分n秒
     *
     * @param date:  时间
     * @param field: 格式;Calendar.YEAR/MONTH/DATE/HOUR/MINUTE/SECOND
     * @param n:     时长;正数=加,负数=减
     * @return: java.util.Date
     * @author: zxq
     * @date: 2021/3/17 12:02 下午
     */
    public static Date addSubtractDate(String date, int field, int n) {
        return addSubtractDate(format(date,DATE_FMT.YYYY_MM_DD_HH_MM_SS), field, n);
    }

    /**
     * 获取时间戳
     *
     * @param date: 时间
     * @return: long
     * @author: zxq
     * @date: 2021/3/18 10:12 上午
     */
    public static long getTimeStamp(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        return calendar.getTimeInMillis();
    }

    /**
     * 获取当前时间戳
     *
     * @param :
     * @return: long
     * @author: zxq
     * @date: 2021/3/18 10:13 上午
     */
    public static long getTimeStamp() {
        return Calendar.getInstance().getTimeInMillis();
    }

    /**
     * 计算两个时间相差的 年/月/日/时/分/秒
     *
     * @param beginDate: 开始时间
     * @param endDate:   结束时间
     * @param field:     计算的格式; Calendar.YEAR/MONTH/DATE/HOUR_OF_DAY/MINUTE/SECOND
     * @return: int
     * @author: zxq
     * @date: 2021/3/18 11:06 上午
     */
    public static int getDateDiff(String beginDate, String endDate, int field) {
        return getDateDiff(format(beginDate), format(endDate), field);
    }

    /**
     * 计算两个时间相差的 年/月/日/时/分/秒
     *
     * @param beginDate: 开始时间
     * @param endDate:   结束时间
     * @param field:     计算的格式; Calendar.YEAR/MONTH/DATE/HOUR_OF_DAY/MINUTE/SECOND
     * @return: int
     * @author: zxq
     * @date: 2021/3/18 11:06 上午
     */
    public static int getDateDiff(Date beginDate, Date endDate, int field) {
        long day = 0;
        SimpleDateFormat df = new SimpleDateFormat(DATE_FMT.YYYY_MM_DD_HH_MM_SS);
        try {
            /** 计算日,时,分,秒 */
            beginDate = df.parse(df.format(beginDate));
            endDate = df.parse(df.format(endDate));

            /** 计算年,月 */
            Calendar begin = Calendar.getInstance();
            begin.setTime(beginDate);
            Calendar end = Calendar.getInstance();
            end.setTime(endDate);
            int bY = begin.get(Calendar.YEAR);
            int eY = end.get(Calendar.YEAR);
            int bM = begin.get(Calendar.MONTH);
            int eM = end.get(Calendar.MONTH);

            switch (field) {
                case Calendar.YEAR:
                    day = eY - bY;
                    break;
                case Calendar.MONTH:
                    day = (eM - bM) + (eY - bY) * 12;
                    break;
                case Calendar.DATE:
                    day = (endDate.getTime() - beginDate.getTime()) / (24 * 60 * 60 * 1000);
                    break;
                case Calendar.HOUR_OF_DAY:
                    day = (endDate.getTime() - beginDate.getTime()) / (60 * 60 * 1000);
                    break;
                case Calendar.MINUTE:
                    day = (endDate.getTime() - beginDate.getTime()) / (60 * 1000);
                    break;
                case Calendar.SECOND:
                    day = (endDate.getTime() - beginDate.getTime()) / (1000);
                    break;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return (int) day;
    }

    /**
     * 时间戳转日期;格式:YYYY-MM-DD HH:mm:ss
     *
     * @param timeStamp: 时间戳
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/19 9:28 上午
     */
    public static String timeStamp2Date(String timeStamp) {
        return timeStamp2Date(timeStamp, DATE_FMT.YYYY_MM_DD_HH_MM_SS);
    }

    /**
     * 时间戳转日期;格式:YYYY-MM-DD HH:mm:ss
     *
     * @param timeStamp: 时间戳
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/19 9:28 上午
     */
    public static String timeStamp2Date(Long timeStamp) {
        return timeStamp2Date(String.valueOf(timeStamp), DATE_FMT.YYYY_MM_DD_HH_MM_SS);
    }

    /**
     * 时间戳转日期;默认:YYYY-MM-dd HH:mm:ss
     *
     * @param timeStamp: 时间戳
     * @param fmt:       日期格式
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/19 9:27 上午
     */
    public static String timeStamp2Date(String timeStamp, String fmt) {
        fmt = StringUtils.isEmpty(fmt) ? DATE_FMT.YYYY_MM_DD_HH_MM_SS : fmt;
        SimpleDateFormat sdf = new SimpleDateFormat(fmt);
        String sd = sdf.format(new Date(Long.parseLong(timeStamp)));
        return sd;
    }


    /**
     * 时间戳转日期;格式:YYYY-MM-DD HH:mm:ss
     *
     * @param timeStamp: 时间戳
     * @param o:         无效参数,只是为了防止方法重复,可设任意值
     * @return: java.util.Date
     * @author: zxq
     * @date: 2021/3/19 11:11 上午
     */
    public static Date timeStamp2Date(String timeStamp, Integer o) {
        return format(timeStamp2Date(timeStamp, DATE_FMT.YYYY_MM_DD_HH_MM_SS), DATE_FMT.YYYY_MM_DD_HH_MM_SS);
    }

    /**
     * 时间戳转日期;格式:YYYY-MM-DD HH:mm:ss
     *
     * @param timeStamp: 时间戳
     * @param o:         无效参数,只是为了防止方法重复,可设任意值
     * @return: java.util.Date
     * @author: zxq
     * @date: 2021/3/19 11:11 上午
     */
    public static Date timeStamp2Date(Long timeStamp, Integer o) {
        return format(timeStamp2Date(String.valueOf(timeStamp), DATE_FMT.YYYY_MM_DD_HH_MM_SS), DATE_FMT.YYYY_MM_DD_HH_MM_SS);
    }

    /**
     * 时间戳转日期;默认:YYYY-MM-dd HH:mm:ss
     *
     * @param timeStamp: 时间戳
     * @param fmt:       日期格式
     * @return: java.util.Date
     * @author: zxq
     * @date: 2021/3/19 11:08 上午
     */
    public static Date timeStamp2Date(Long timeStamp, String fmt) {
        fmt = StringUtils.isEmpty(fmt) ? DATE_FMT.YYYY_MM_DD_HH_MM_SS : fmt;
        SimpleDateFormat sdf = new SimpleDateFormat(fmt);
        String sd = sdf.format(new Date(timeStamp));
        return format(sd, fmt);
    }

    /**
     * 时间设置成:2021-02-02 23:59:59
     *
     * @param date: 时间
     * @param o:    无效参数,只是为了防止方法重复,可设任意值
     * @return: java.util.Date
     * @author: zxq
     * @date: 2021/3/19 10:28 上午
     */
    public static Date date235959(Date date, Integer o) {
        return format(date235959(date), DATE_FMT.YYYY_MM_DD_HH_MM_SS);
    }

    /**
     * 时间设置成:2021-02-02 23:59:59
     *
     * @param date: 时间
     * @param o:    无效参数,只是为了防止方法重复,可设任意值
     * @return: java.util.Date
     * @author: zxq
     * @date: 2021/3/19 10:28 上午
     */
    public static Date date235959(String date, Integer o) {
        return format(date235959(date), DATE_FMT.YYYY_MM_DD_HH_MM_SS);
    }

    /**
     * 时间设置成:2021-02-02 23:59:59
     *
     * @param date: 时间
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/19 10:27 上午
     */
    public static String date235959(String date) {
        return date235959(format(date, DATE_FMT.YYYY_MM_DD_HH_MM_SS));
    }

    /**
     * 时间设置成:2021-02-02 23:59:59
     *
     * @param date: 时间
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/19 10:27 上午
     */
    public static String date235959(Date date) {
        SimpleDateFormat sf = new SimpleDateFormat(DATE_FMT.YYYY_MM_DD_HH_MM_SS);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.HOUR_OF_DAY, 23);
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 59);
        String time = sf.format(calendar.getTime());
        return time;
    }

    /**
     * 指定日期是星期几
     *
     * @param date: 日期
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/19 11:27 上午
     */
    public static String getWeek(String date) {
        return getWeek(format(date));
    }

    /**
     * 指定日期是星期几
     *
     * @param date: 日期
     * @return: java.lang.String
     * @author: zxq
     * @date: 2021/3/19 11:26 上午
     */
    public static String getWeek(Date date) {
        SimpleDateFormat sdf = new SimpleDateFormat(DATE_FMT.EEEE);
        return sdf.format(date);
    }

    /**
     * 比较时间 date1是否大于date2; true=大于; false=小于等于
     *
     * @param date1: 日期1
     * @param date2: 日期2
     * @param fmt:   日期格式;默认:YYYY-MM-dd HH:mm:ss
     * @return: boolean
     * @author: zxq
     * @date: 2021/3/19 11:38 上午
     */
    public static boolean after(Date date1, Date date2, String fmt) {
        fmt = StringUtils.isEmpty(fmt) ? DATE_FMT.YYYY_MM_DD_HH_MM_SS : fmt;
        return after(format(date1, fmt), format(date2, fmt), fmt);
    }

    /**
     * 比较时间 date1是否大于date2; true=大于; false=小于等于
     *
     * @param date1: 日期1
     * @param date2: 日期2
     * @param fmt:   日期格式;默认:YYYY-MM-dd HH:mm:ss
     * @return: boolean
     * @author: zxq
     * @date: 2021/3/19 11:38 上午
     */
    public static boolean after(String date1, Date date2, String fmt) {
        fmt = StringUtils.isEmpty(fmt) ? DATE_FMT.YYYY_MM_DD_HH_MM_SS : fmt;
        return after(date1, format(date2, fmt), fmt);
    }

    /**
     * 比较时间 date1是否大于date2; true=大于; false=小于等于
     *
     * @param date1: 日期1
     * @param date2: 日期2
     * @param fmt:   日期格式;默认:YYYY-MM-dd HH:mm:ss
     * @return: boolean
     * @author: zxq
     * @date: 2021/3/19 11:38 上午
     */
    public static boolean after(Date date1, String date2, String fmt) {
        fmt = StringUtils.isEmpty(fmt) ? DATE_FMT.YYYY_MM_DD_HH_MM_SS : fmt;
        return after(format(date1, fmt), date2, fmt);
    }

    /**
     * 比较时间 date1是否大于date2; true=大于; false=小于等于
     *
     * @param date1: 日期1
     * @param date2: 日期2
     * @param fmt:   日期格式;默认:YYYY-MM-dd HH:mm:ss
     * @return: boolean
     * @author: zxq
     * @date: 2021/3/19 11:38 上午
     */
    public static boolean after(String date1, String date2, String fmt) {
        fmt = StringUtils.isEmpty(fmt) ? DATE_FMT.YYYY_MM_DD_HH_MM_SS : fmt;
        Date d1 = format(date1, fmt);
        Date d2 = format(date2, fmt);
        return d1.after(d2);
    }

    /**
     * 比较时间 date1是否小于date2; true=小于; false=大于等于
     *
     * @param date1: 日期1
     * @param date2: 日期2
     * @param fmt:   日期格式;默认:YYYY-MM-dd HH:mm:ss
     * @return: boolean
     * @author: zxq
     * @date: 2021/3/19 11:38 上午
     */
    public static boolean before(Date date1, Date date2, String fmt) {
        fmt = StringUtils.isEmpty(fmt) ? DATE_FMT.YYYY_MM_DD_HH_MM_SS : fmt;
        return after(format(date1, fmt), format(date2, fmt), fmt);
    }

    /**
     * 比较时间 date1是否小于date2; true=小于; false=大于等于
     *
     * @param date1: 日期1
     * @param date2: 日期2
     * @param fmt:   日期格式;默认:YYYY-MM-dd HH:mm:ss
     * @return: boolean
     * @author: zxq
     * @date: 2021/3/19 11:38 上午
     */
    public static boolean before(String date1, Date date2, String fmt) {
        fmt = StringUtils.isEmpty(fmt) ? DATE_FMT.YYYY_MM_DD_HH_MM_SS : fmt;
        return after(date1, format(date2, fmt), fmt);
    }

    /**
     * 比较时间 date1是否小于date2; true=小于; false=大于等于
     *
     * @param date1: 日期1
     * @param date2: 日期2
     * @param fmt:   日期格式;默认格式:YYYY-MM-dd HH:mm:ss
     * @return: boolean
     * @author: zxq
     * @date: 2021/3/19 11:38 上午
     */
    public static boolean before(Date date1, String date2, String fmt) {
        fmt = StringUtils.isEmpty(fmt) ? DATE_FMT.YYYY_MM_DD_HH_MM_SS : fmt;
        return after(format(date1, fmt), date2, fmt);
    }

    /**
     * 比较时间 date1是否小于date2; true=小于; false=大于等于
     *
     * @param date1: 日期1
     * @param date2: 日期2
     * @param fmt:   日期格式;默认格式:YYYY-MM-dd HH:mm:ss
     * @return: boolean
     * @author: zxq
     * @date: 2021/3/19 11:38 上午
     */
    public static boolean before(String date1, String date2, String fmt) {
        fmt = StringUtils.isEmpty(fmt) ? DATE_FMT.YYYY_MM_DD_HH_MM_SS : fmt;
        Date d1 = format(date1, fmt);
        Date d2 = format(date2, fmt);
        return d1.before(d2);
    }

    /**
     * 获取两个时间间隔n分的时间集合
     *
     * @param startHour: 开始时间
     * @param endHour:   结束时间
     * @param n:         间隔时间
     * @return: java.util.List<java.lang.String>
     * @author: zxq
     * @date: 2021/3/19 4:54 下午
     */
    public static List<String> spiltTimeByHour(Date startHour, Date endHour, int n) {
        return spiltTimeByHour(format(startHour, DATE_FMT.HH_MM), format(endHour, DATE_FMT.HH_MM), n);
    }

    /**
     * 获取两个时间间隔n分的时间集合
     *
     * @param startHour: 开始时间 格式:HH:mm
     * @param endHour:   结束时间 格式:HH:mm
     * @param n:         间隔时间
     * @return: java.util.List<java.lang.String>
     * @author: zxq
     * @date: 2021/3/19 4:54 下午
     */
    public static List<String> spiltTimeByHour(String startHour, String endHour, int n) {
        List<String> retTime = new ArrayList<>();
        try {

            SimpleDateFormat sdf = new SimpleDateFormat(DATE_FMT.HH_MM);
            long difTime = (sdf.parse(endHour).getTime() - sdf.parse(startHour).getTime()) / (1000);
            if (difTime < 0) {
                difTime = (sdf.parse("24:00").getTime() - sdf.parse(startHour).getTime()) / (1000);
                difTime += (sdf.parse(endHour).getTime() - sdf.parse("00:00").getTime()) / (1000);

            } else {
                difTime = (sdf.parse(endHour).getTime() - sdf.parse(startHour).getTime()) / (1000);
            }
            int ln = Math.abs(Integer.valueOf(String.valueOf((difTime / 60 / n))));

            Calendar c = Calendar.getInstance();
            c.setTime(sdf.parse(startHour));
            for (int i = 1; i < ln; i++) {
                c.add(Calendar.MINUTE, n);
                retTime.add(sdf.format(c.getTime()));
            }
            //结束时间
            retTime.add(endHour);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        Collections.sort(retTime);
        return retTime;
    }

    public static void main(String[] args) {

//        System.out.println(addSubtractDate(new Date(), Calendar.YEAR, 1));
//        System.out.println(addSubtractDate(new Date(), Calendar.MONTH, 1));
//        System.out.println(addSubtractDate(new Date(), Calendar.DATE, 1));
//        System.out.println(format(addSubtractDate(new Date(), Calendar.HOUR, 3), DATE_FMT.YYYY_MM_DD_HH_MM_SS));
//        System.out.println(format(addSubtractDate(new Date(), Calendar.MINUTE, 3), DATE_FMT.YYYY_MM_DD_HH_MM_SS));
//        System.out.println(format(addSubtractDate(new Date(), Calendar.SECOND, 3), DATE_FMT.YYYY_MM_DD_HH_MM_SS));

//        System.out.println(getTimeStamp(new Date()));
//        System.out.println(getTimeStamp());

//        System.out.println(getDateDiff(format("2000-03-18 10:42:50", DATE_FMT.YYYY_MM_DD_HH_MM_SS), format("2021-03-18 10:42:50", DATE_FMT.YYYY_MM_DD_HH_MM_SS), Calendar.YEAR));
//        System.out.println(getDateDiff(format("2020-03-18 10:42:50", DATE_FMT.YYYY_MM_DD_HH_MM_SS), format("2021-04-18 10:42:50", DATE_FMT.YYYY_MM_DD_HH_MM_SS), Calendar.MONTH));
//        System.out.println(getDateDiff(format("2021-03-18 10:42:50", DATE_FMT.YYYY_MM_DD_HH_MM_SS), format("2021-04-22 10:42:50", DATE_FMT.YYYY_MM_DD_HH_MM_SS), Calendar.DATE));
//        System.out.println(getDateDiff(format("2021-03-18 10:42:50", DATE_FMT.YYYY_MM_DD_HH_MM_SS), format("2021-03-18 16:42:50", DATE_FMT.YYYY_MM_DD_HH_MM_SS), Calendar.HOUR_OF_DAY));
//        System.out.println(getDateDiff(format("2021-03-18 10:42:50", DATE_FMT.YYYY_MM_DD_HH_MM_SS), format("2021-03-18 10:49:50", DATE_FMT.YYYY_MM_DD_HH_MM_SS), Calendar.MINUTE));
//        System.out.println(getDateDiff(format("2021-03-18 10:42:50", DATE_FMT.YYYY_MM_DD_HH_MM_SS), format("2021-03-18 10:42:55", DATE_FMT.YYYY_MM_DD_HH_MM_SS), Calendar.SECOND));

//        System.out.println(timeStamp2Date(1616053922151L));
//        System.out.println(timeStamp2Date("1616053922151"));
//        System.out.println(timeStamp2Date(String.valueOf(1616053922151L), DATE_FMT.YYYY年MM月DD日HH时MM分SS秒));
//        System.out.println(timeStamp2Date(1616053942151L,0));
//        System.out.println(timeStamp2Date("1616053922151",0));
//        System.out.println(timeStamp2Date(1616054922151L, DATE_FMT.YYYY年MM月DD日HH时MM分SS秒));

//        System.out.println(date235959(new Date()));
//        System.out.println(date235959("2021-03-11 12:12:99"));
//        System.out.println(date235959(new Date(),0));
//        System.out.println(date235959("2021-03-31 12:12:99",0));

//        System.out.println(getWeek(new Date()));
//        System.out.println(getWeek("2021-03-20"));

//        String str1 = "2021-03-18 11:33:00";
//        String str2 = "2021-03-18 11:33:01";
//        Date date1 = format("2021-03-19 11:33:01", DATE_FMT.YYYY_MM_DD_HH_MM_SS);
//        Date date2 = format("2021-03-19 11:33:01", DATE_FMT.YYYY_MM_DD_HH_MM_SS);
//        System.out.println(after(str1, str2, null));
//        System.out.println(after(date1, date2, null));
//        System.out.println(after(str1, date1, null));
//        System.out.println(after(date2, str2, null));
//        System.out.println();
//        System.out.println(before(str1, str2, null));
//        System.out.println(before(date1, date2, null));
//        System.out.println(before(str1, date1, null));
//        System.out.println(before(date2, str2, null));

//        List<String> lst = spiltTimeByHour("09:30", "13:00", 10);
//        lst.forEach(s -> {
//            System.out.println("1==> "+s);
//        });
//        List<String> lst2 = spiltTimeByHour(format("2021-03-19 09:30:00", DATE_FMT.YYYY_MM_DD_HH_MM_SS), format("2021-03-19 13:00:00", DATE_FMT.YYYY_MM_DD_HH_MM_SS), 10);
//        lst2.forEach(s -> {
//            System.out.println("2==> "+s);
//        });

    }

}
View Code

 

 

未完,待续...

会持续更新!!

 

posted @ 2021-03-26 15:52  追太阳的小码妹  阅读(97)  评论(0编辑  收藏  举报