程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 應用Java中Calendar計算兩個日期之間的天數和周數

應用Java中Calendar計算兩個日期之間的天數和周數

編輯:關於JAVA

應用Java中Calendar計算兩個日期之間的天數和周數。本站提示廣大學習愛好者:(應用Java中Calendar計算兩個日期之間的天數和周數)文章只能為提供參考,不一定能成為您想要的結果。以下是應用Java中Calendar計算兩個日期之間的天數和周數正文


前言

終究什麼是一個 Calendar 呢?中文的翻譯就是日歷,那我們立即可以想到我們生活中有陽(公)歷、陰(農)歷之分。它們的區別在哪呢?

比方有:

月份的定義 - 陽`(公)歷 一年12 個月,每個月的天數各不同;陰(農)歷,每個月固定28天

每周的第一天 - 陽(公)歷星期日是第一天;陰(農)歷,星期一是第一天

實踐上,在歷史上有著許多種紀元的辦法。它們的差別真實太大了,比方說一團體的生日是"八月八日" 那麼一種能夠是陽(公)歷的八月八日,但也可以是陰(農)歷的日期。所以為了計時的一致,必需指定一個日歷的選擇。那如今最為普及和通用的日歷就是 "Gregorian Calendar"。也就是我們在講述年份時常用 "公元幾幾年"。Calendar 籠統類定義了足夠的辦法,讓我們可以表述日歷的規則。Java 自身提供了對 "Gregorian Calendar" 規則的完成。我們從 Calendar.getInstance() 中所取得的實例就是一個 "GreogrianCalendar" 對象(與您經過 new GregorianCalendar() 取得的後果分歧)。上面話不多說了,來看看本文的注釋吧。

應用java中Calendar類計算出兩個日期之間的天數和周數的算法!

計算出日期之間的天數:

public Object countTwoDate(Object startDate, Object endDate) 
 { 
  if(StringUtils.isNotEmpty(startDate) && StringUtils.isNotEmpty(endDate)) 
  { 
   Date start=(Date)startDate; 
   Date end = (Date)endDate; 
   Calendar cal=Calendar.getInstance(); 
   cal.setTime(start); 
   long time1=cal.getTimeInMillis(); 
   cal.setTime(end); 
   long time2=cal.getTimeInMillis(); 
   long between_days=(time2-time1)/(1000*3600*24); 
   return Integer.parseInt(String.valueOf(between_days)); 
  } 
  return null; 
 } 

再計算出周數:

public Object countTwoDayWeek(Object startDate, Object endDate) 
 { 
  if(StringUtils.isNotEmpty(startDate) && StringUtils.isNotEmpty(endDate)) 
  { 
   Date start=(Date)startDate; 
   Date end = (Date)endDate; 
   Calendar cal=Calendar.getInstance(); 
   cal.setTime(start); 
   long time1=cal.getTimeInMillis(); 
   cal.setTime(end); 
   long time2=cal.getTimeInMillis(); 
   long between_days=(time2-time1)/(1000*3600*24); 
   Double days=Double.parseDouble(String.valueOf(between_days)); 
   if((days/7)>0 && (days/7)<=1){ 
    //不滿一周的按一周算 
    return 1; 
   }else if(days/7>1){ 
    int day=days.intValue(); 
    if(day%7>0){ 
     return day/7+1; 
    }else{ 
     return day/7; 
    } 
   }else if((days/7)==0){ 
    return 0; 
   }else{ 
    //正數返還null 
    return null; 
   } 
  } 
  return null; 
 } 

總結

以上就是應用Java中的Calendar計算兩個日期之間天數和周數的全部內容,希望本文的內容對大家的學習或許任務能帶來一定的協助,假如有疑問大家可以留言交流。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved