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

    }

  • 相关阅读:
    (zt)在PHP中使用全局变量
    (zt)Flash与C++交互
    (zt)关于Flash Socket通信的安全策略问题的一点心得
    (zt)svn 随服务器启动
    使用InstallShield安装和卸载SQL Server数据库(利用sql脚本)
    异常查看部分代码
    VC为控件添加背景
    深入分析MFC文档视图结构
    VC数据库编程概述
    (转)WEB程序打包详解:(连接SQL2005数据库,修改配置文件,建立虚拟目录)
  • 原文地址:https://www.cnblogs.com/small-panda/p/14367007.html
Copyright © 2011-2022 走看看