• 日期工具类


    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();
    }

    }

  • 相关阅读:
    python小技巧之把list组合成chain
    airflow自动生成dag
    python之json读写
    Java写入的常用技巧(二)
    python并发——信号量
    python并发——进程间同步和通信
    python并发——从线程池获取返回值
    python获取hive表时间格式最大分区
    python递归获取目录下指定文件
    国际化(i18n)
  • 原文地址:https://www.cnblogs.com/small-panda/p/14367007.html
Copyright © 2020-2023  润新知