java中計算兩個日期相差幾天

字號:


    1.public class Test {
    2.public void dateDiff(String startTime, String endTime, String format) {
    3.//按照傳入的格式生成一個simpledateformate對象
    4.SimpleDateFormat sd = new SimpleDateFormat(format);
    5.long nd = 1000*24*60*60;//一天的毫秒數
    6.long nh = 1000*60*60;//一小時的毫秒數
    7.long nm = 1000*60;//一分鐘的毫秒數
    8.long ns = 1000;//一秒鐘的毫秒數
    9.long diff;
    10.try {
    11.//獲得兩個時間的毫秒時間差異
    12.diff = sd.parse(endTime).getTime() - sd.parse(startTime).getTime();
    13.long day = diff/nd;//計算差多少天
    14.long hour = diff%nd/nh;//計算差多少小時
    15.long min = diff%nd%nh/nm;//計算差多少分鐘
    16.long sec = diff%nd%nh%nm/ns;//計算差多少秒
    17.//輸出結果
    18.System.out.println("時間相差:"+day+"天"+hour+"小時"+min+"分鐘"+sec+"秒。");
    19.} catch (ParseException e) {
    20.e.printStackTrace();
    21.}
    22.}
    23.
    24.
    25.public static void main(String[] args) {
    26.new Test().dateDiff(new SimpleDateFormat("yyyy-MM-dd").format(new Date()), "2010-8-23", "yyyy-MM-dd");
    27.}
    28.}