zoukankan      html  css  js  c++  java
  • Java日期时间差以及获取几天后或几天前

     1 /**
     2      * @param date
     3      * @param day 想要获取的日期与传入日期的差值 比如想要获取传入日期前四天的日期 day=-4即可
     4      * @return
     5      */
     6     public static Date getSomeDay(Date date, int day){
     7         Calendar calendar = Calendar.getInstance();
     8         calendar.setTime(date);
     9         calendar.add(Calendar.DATE, day);
    10         return calendar.getTime();
    11     }
    12     
    13     /**
    14      * 日期差天数、小时、分钟、秒数组
    15      * @param startDate
    16      * @param endDate
    17      * @return
    18      */
    19     public static long[] getDisTime(Date startDate, Date endDate){
    20         long timesDis = Math.abs(startDate.getTime() - endDate.getTime());
    21         long day = timesDis / (1000 * 60 * 60 * 24);
    22         long hour = timesDis / (1000 * 60 * 60) - day * 24;
    23         long min = timesDis / (1000 * 60) - day * 24 * 60 - hour * 60;
    24         long sec = timesDis / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60;
    25         return new long[]{day, hour, min, sec};
    26     }
    27     
    28     /**
    29      * 日期差天数
    30      * @param startDate
    31      * @param endDate
    32      * @return
    33      */
    34     public static long getDisDay(Date startDate, Date endDate){
    35         long[] dis = getDisTime(startDate, endDate);
    36         long day = dis[0];
    37         if (dis[1] > 0 || dis[2] > 0 || dis[3] > 0) {
    38             day += 1;
    39         }
    40         return day;
    41     }
    42     
    43     /**
    44      * 日期差文字描述
    45      * @param startDate
    46      * @param endDate
    47      * @return
    48      */
    49     public static String getDisTimeStr(Date startDate, Date endDate){
    50         long[] dis = getDisTime(startDate, endDate);
    51         return new StringBuilder().append(dis[0]).append("天").append(dis[1]).append("小时").append(dis[2]).append("分钟")
    52                 .append(dis[3]).append("秒").toString();
    53     }
  • 相关阅读:
    .net导出Excel几种方式比较
    各种loading加载中gif图标
    鼠标右键Table的td弹出多级菜单,双击td编辑
    解决远程连接超过最大数
    JQuery1.72中二个Bug,formhtml()方法与clone()方法的二个Bug进行重写
    Wijmo 2017路线图
    Wijmo 2016 V3发布
    ComponentOne 2016 V3 发布
    Angular2正式版发布,Wijmo抢先支持
    最好的Angular2表格控件
  • 原文地址:https://www.cnblogs.com/hangao/p/6874015.html
Copyright © 2011-2022 走看看