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     }
  • 相关阅读:
    NCPC2016
    2016 ACM-ICPC CHINA-Final
    2016沈阳区域赛题解
    NAIPC2016部分题解
    Gym
    数论之莫比乌斯反演
    2018 多校 HDU
    LightOJ
    LightOJ
    java操作XML---XML基础知识
  • 原文地址:https://www.cnblogs.com/hangao/p/6874015.html
Copyright © 2011-2022 走看看