zoukankan      html  css  js  c++  java
  • 日期工具类

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

    }

  • 相关阅读:
    使用jetty部署配置solr服务
    solr 与 MySQL(二)
    学习solr(一)
    FormData 上传文件
    node.js cannot find module 'mysql'
    select2 ajax 无法选中
    jenkins持续集成文件冲突的问题
    Inno Setup 实现每次jenkins自动构建时版本号自动+1
    jenkins 配置slave节点(win10系统)
    Jenkins+Gradle实现android开发持续集成和打包
  • 原文地址:https://www.cnblogs.com/small-panda/p/14367007.html
Copyright © 2011-2022 走看看