国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Java > 正文

利用Java中Calendar計(jì)算兩個(gè)日期之間的天數(shù)和周數(shù)

2019-11-26 13:25:43
字體:
供稿:網(wǎng)友

前言

究竟什么是一個(gè) Calendar 呢?中文的翻譯就是日歷,那我們立刻可以想到我們生活中有陽(yáng)(公)歷、陰(農(nóng))歷之分。它們的區(qū)別在哪呢?

比如有:

月份的定義 - 陽(yáng)`(公)歷 一年12 個(gè)月,每個(gè)月的天數(shù)各不同;陰(農(nóng))歷,每個(gè)月固定28天

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

實(shí)際上,在歷史上有著許多種紀(jì)元的方法。它們的差異實(shí)在太大了,比如說一個(gè)人的生日是"八月八日" 那么一種可能是陽(yáng)(公)歷的八月八日,但也可以是陰(農(nóng))歷的日期。所以為了計(jì)時(shí)的統(tǒng)一,必需指定一個(gè)日歷的選擇。那現(xiàn)在最為普及和通用的日歷就是 "Gregorian Calendar"。也就是我們?cè)谥v述年份時(shí)常用 "公元幾幾年"。Calendar 抽象類定義了足夠的方法,讓我們能夠表述日歷的規(guī)則。Java 本身提供了對(duì) "Gregorian Calendar" 規(guī)則的實(shí)現(xiàn)。我們從 Calendar.getInstance() 中所獲得的實(shí)例就是一個(gè) "GreogrianCalendar" 對(duì)象(與您通過 new GregorianCalendar() 獲得的結(jié)果一致)。下面話不多說了,來看看本文的正文吧。

利用java中Calendar類計(jì)算出兩個(gè)日期之間的天數(shù)和周數(shù)的算法!

計(jì)算出日期之間的天數(shù):

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

再計(jì)算出周數(shù):

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{     //負(fù)數(shù)返還null     return null;    }   }   return null;  } 

總結(jié)

以上就是利用Java中的Calendar計(jì)算兩個(gè)日期之間天數(shù)和周數(shù)的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 应用必备| 晋州市| 镇赉县| 富裕县| 突泉县| 金华市| 张家川| 平利县| 黑河市| 玛沁县| 彰武县| 兰考县| 奎屯市| 周宁县| 靖西县| 江孜县| 闽清县| 年辖:市辖区| 扶风县| 香河县| 山丹县| 宁远县| 黄石市| 门源| 东辽县| 汉源县| 柳林县| 蒙山县| 达日县| 宜兰县| 新乡市| 新郑市| 神池县| 绥化市| 朝阳区| 田林县| 惠水县| 安化县| 涟水县| 扎兰屯市| 上高县|