最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java計算兩個日期之前的天數(shù)實例(排除節(jié)假日和周末)

 更新時間:2017年07月13日 08:19:17   投稿:jingxian  
下面小編就為大家?guī)硪黄猨ava計算兩個日期之前的天數(shù)實例(排除節(jié)假日和周末)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

如題所說,計算兩個日期之前的天數(shù),排除節(jié)假日和周末。這里天數(shù)的類型為double,因為該功能實現(xiàn)的是請假天數(shù)的計算,有請一上午假的為0.5天。

不夠很坑的是每個日期都要查詢數(shù)據(jù)庫,感覺很浪費(fèi)時間。

原則:

  1.節(jié)假日存放在數(shù)據(jù)庫中

實現(xiàn)步驟:

  1.循環(huán)每個日期

  2.判斷每個日期是否為節(jié)假日或者為周末

  3.若不是節(jié)假日和周末,天數(shù)+1

代碼:

public double calLeaveDays(Date startTime,Date endTime){
 double leaveDays = 0;
//從startTime開始循環(huán),若該日期不是節(jié)假日或者不是周六日則請假天數(shù)+1
Date flag = startTime;//設(shè)置循環(huán)開始日期
Calendar cal = Calendar.getInstance();
  //循環(huán)遍歷每個日期
while(flag.compareTo(endTime)!=1){
 cal.setTime(flag);
//判斷是否為周六日
 int week = cal.get(Calendar.DAY_OF_WEEK) - 1;
 if(week == 0 || week == 6){//0為周日,6為周六
  //跳出循環(huán)進(jìn)入下一個日期
  cal.add(Calendar.DAY_OF_MONTH, +1);
  flag = cal.getTime();
  continue;
 }
  //判斷是否為節(jié)假日
  try{
   //從數(shù)據(jù)庫查找該日期是否在節(jié)假日中
   /*這里為數(shù)據(jù)庫操作*/
      /*傳入該日期flag,使用sql語句判斷flag是否between節(jié)假日開始日期and節(jié)假日結(jié)束日期*/
      /*count為從數(shù)據(jù)庫查出的行數(shù)*/
   if (count > 0){
    //跳出循環(huán)進(jìn)入下一個日期
         cal.add(Calendar.DAY_OF_MONTH, +1);
         flag = cal.getTime();
    continue;
        }
    }catch (Exception e){
   e.printStackTrace();
  }
  //不是節(jié)假日或者周末,天數(shù)+1
 leaveDays = leaveDays + 1;
  //日期往后加一天
  cal.add(Calendar.DAY_OF_MONTH, +1);
  flag = cal.getTime();
 }
 return leaveDays;
}

以上這篇java計算兩個日期之前的天數(shù)實例(排除節(jié)假日和周末)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mybatis中強(qiáng)大的resultMap功能介紹

    Mybatis中強(qiáng)大的resultMap功能介紹

    這篇文章主要給大家介紹了關(guān)于Mybatis中強(qiáng)大的resultMap功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Mybatis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • SpringBoot多配置切換的配置方法

    SpringBoot多配置切換的配置方法

    這篇文章主要介紹了SpringBoot多配置切換的配置方法及spring boot設(shè)置端口和上下文路徑的方法,需要的朋友可以參考下
    2018-04-04
  • SSM?Mapper文件查詢出返回數(shù)據(jù)查不到個別字段的問題

    SSM?Mapper文件查詢出返回數(shù)據(jù)查不到個別字段的問題

    這篇文章主要介紹了SSM?Mapper文件查詢出返回數(shù)據(jù)查不到個別字段的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • MyBatis控制臺顯示SQL語句的方法實現(xiàn)

    MyBatis控制臺顯示SQL語句的方法實現(xiàn)

    這篇文章主要介紹了MyBatis控制臺顯示SQL語句的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Java @PostMapping和@GetMapping方法使用詳解

    Java @PostMapping和@GetMapping方法使用詳解

    這篇文章主要介紹了Java @PostMapping和@GetMapping方法使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-03-03
  • Mybatis-Plus自動填充更新操作相關(guān)字段的實現(xiàn)

    Mybatis-Plus自動填充更新操作相關(guān)字段的實現(xiàn)

    這篇文章主要介紹了Mybatis-Plus自動填充更新操作相關(guān)字段的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 詳解如何在Spring中為@Value注解設(shè)置默認(rèn)值

    詳解如何在Spring中為@Value注解設(shè)置默認(rèn)值

    在Spring開發(fā)中,我們經(jīng)常會遇到需要從配置文件中讀取屬性的情況,@Value注解是Spring提供的一種便捷方式,能夠讓我們輕松地將配置文件中的屬性注入到Spring Bean中,
    2024-10-10
  • java開發(fā)之Jdbc分頁源碼詳解

    java開發(fā)之Jdbc分頁源碼詳解

    這篇文章主要介紹了java開發(fā)之Jdb分頁源碼詳解,需要的朋友可以參考下
    2020-02-02
  • Spring?Boot常用的參數(shù)驗證技巧和使用方法

    Spring?Boot常用的參數(shù)驗證技巧和使用方法

    Spring Boot是一個使用Java編寫的開源框架,用于快速構(gòu)建基于Spring的應(yīng)用程序,這篇文章主要介紹了Spring?Boot常用的參數(shù)驗證技巧和使用方法,需要的朋友可以參考下
    2023-09-09
  • Java的CyclicBarrier循環(huán)屏障解析

    Java的CyclicBarrier循環(huán)屏障解析

    這篇文章主要介紹了Java的CyclicBarrier循環(huán)屏障解析,CyclicBarrier和CountDownLatch一樣,是一個同步工具類,它允許一組線程相互等待直到達(dá)到某個common?barrier?point,在程序中CyclicBarrier是非常有用的,它適用于一組線程必須互相等待的情況,需要的朋友可以參考下
    2023-12-12

最新評論

二连浩特市| 湟中县| 棋牌| 渭南市| 东明县| 镶黄旗| 科技| 衡南县| 兴城市| 柞水县| 嘉定区| 新泰市| 仲巴县| 博湖县| 厦门市| 古蔺县| 旬阳县| 永善县| 临夏县| 巴林右旗| 济南市| 夏邑县| 连山| 台北县| 白银市| 包头市| 松溪县| 册亨县| 正定县| 宁化县| 阿图什市| 五台县| 改则县| 兴宁市| 韶关市| 丹阳市| 磴口县| 龙山县| 和龙市| 安新县| 聂拉木县|