亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2016年12月19日 09:06:11   作者:Inovation_Sky  
Java 語(yǔ)言的Calendar(日歷),Date(日期),和DateFormat(日期格式)組成了Java標(biāo)準(zhǔn)的一個(gè)基本但是非常重要的部分。日期是商業(yè)邏輯計(jì)算一個(gè)關(guān)鍵的部分。下面這篇文章就給大家介紹了如何利用Java中Calendar計(jì)算兩個(gè)日期之間的天數(shù)和周數(shù),下面來(lái)一起看看吧。

前言

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

比如有:

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

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

實(shí)際上,在歷史上有著許多種紀(jì)元的方法。它們的差異實(shí)在太大了,比如說(shuō)一個(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ì)象(與您通過(guò) new GregorianCalendar() 獲得的結(jié)果一致)。下面話不多說(shuō)了,來(lái)看看本文的正文吧。

利用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í)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

相關(guān)文章

  • 應(yīng)用市場(chǎng)中Java攔截器和切面的使用實(shí)例詳解

    應(yīng)用市場(chǎng)中Java攔截器和切面的使用實(shí)例詳解

    這篇文章主要介紹了應(yīng)用市場(chǎng)中Java攔截器和切面的使用實(shí)例詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Java開發(fā)人員需知的十大戒律

    Java開發(fā)人員需知的十大戒律

    這篇文章主要介紹了Java開發(fā)人員需知的十大戒律,較為詳細(xì)的總結(jié)分析了Java開發(fā)中常見(jiàn)的注意事項(xiàng)與編程技巧,需要的朋友可以參考下
    2015-10-10
  • Java 泛型 Generic機(jī)制實(shí)例詳解

    Java 泛型 Generic機(jī)制實(shí)例詳解

    這篇文章主要為大家介紹了Java 泛型 Generic機(jī)制實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Mybatis應(yīng)用mysql存儲(chǔ)過(guò)程查詢數(shù)據(jù)實(shí)例

    Mybatis應(yīng)用mysql存儲(chǔ)過(guò)程查詢數(shù)據(jù)實(shí)例

    下面小編就為大家分享一篇Mybatis應(yīng)用mysql存儲(chǔ)過(guò)程查詢數(shù)據(jù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • java文件操作之Path,Paths,Files

    java文件操作之Path,Paths,Files

    Java7中文件IO發(fā)生了很大的變化,專門引入了很多新的類,下面給大家分享用Files作為一個(gè)操作類的實(shí)例,需要的朋友可以參考
    2017-04-04
  • Java線程的控制詳解

    Java線程的控制詳解

    這篇文章主要介紹了Java中的join線程、后臺(tái)線程、線程睡眠、線程讓步以及線程的優(yōu)先級(jí),非常的詳細(xì),希望能對(duì)大家有所幫助
    2014-10-10
  • @Async異步線程池以及線程的命名方式

    @Async異步線程池以及線程的命名方式

    這篇文章主要介紹了@Async異步線程池以及線程的命名方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java線程中Thread方法下的Join方法詳解

    Java線程中Thread方法下的Join方法詳解

    這篇文章主要介紹了Java線程中Thread方法下的Join方法詳解,在項(xiàng)目中往往會(huì)遇到這樣一個(gè)場(chǎng)景,就是需要等待幾件事情都給做完后才能走下面的事情,這個(gè)時(shí)候就需要用到Thread方法下的Join方法,join方法是無(wú)參且沒(méi)有返回值的,需要的朋友可以參考下
    2024-01-01
  • 簡(jiǎn)單談?wù)凧ava垃圾回收

    簡(jiǎn)單談?wù)凧ava垃圾回收

    本文是看了James Gosling的<<Java程序設(shè)計(jì)語(yǔ)言>>后結(jié)合自己的一些項(xiàng)目經(jīng)驗(yàn),簡(jiǎn)單總結(jié)下關(guān)于java的垃圾回收問(wèn)題的看法,有需要的小伙伴可以參考下
    2016-05-05
  • Spring Cloud Stream 高級(jí)特性使用詳解

    Spring Cloud Stream 高級(jí)特性使用詳解

    這篇文章主要為大家介紹了Spring Cloud Stream 高級(jí)特性使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09

最新評(píng)論