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

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

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

如題所說,計(jì)算兩個(gè)日期之前的天數(shù),排除節(jié)假日和周末。這里天數(shù)的類型為double,因?yàn)樵摴δ軐?shí)現(xiàn)的是請(qǐng)假天數(shù)的計(jì)算,有請(qǐng)一上午假的為0.5天。

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

原則:

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

實(shí)現(xiàn)步驟:

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

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

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

代碼:

public double calLeaveDays(Date startTime,Date endTime){
 double leaveDays = 0;
//從startTime開始循環(huán),若該日期不是節(jié)假日或者不是周六日則請(qǐng)假天數(shù)+1
Date flag = startTime;//設(shè)置循環(huán)開始日期
Calendar cal = Calendar.getInstance();
  //循環(huán)遍歷每個(gè)日期
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)入下一個(gè)日期
  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)入下一個(gè)日期
         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計(jì)算兩個(gè)日期之前的天數(shù)實(shí)例(排除節(jié)假日和周末)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java WebSocket客戶端接收大量數(shù)據(jù)的三種方案

    Java WebSocket客戶端接收大量數(shù)據(jù)的三種方案

    WebSocket是一種基于TCP協(xié)議的全雙工通信協(xié)議,它能夠在客戶端和服務(wù)器之間建立一個(gè)持久連接,實(shí)現(xiàn)實(shí)時(shí)的雙向數(shù)據(jù)傳輸,在實(shí)際應(yīng)用中,有時(shí)候我們需要處理大量的數(shù)據(jù),所以本文將介紹如何使用 Java WebSocket 客戶端接收大量數(shù)據(jù),并提供一些優(yōu)化方案
    2023-11-11
  • SpringBoot對(duì)不同Bean注解的區(qū)別和使用場(chǎng)景說明

    SpringBoot對(duì)不同Bean注解的區(qū)別和使用場(chǎng)景說明

    這篇文章主要介紹了SpringBoot對(duì)不同Bean注解的區(qū)別和使用場(chǎng)景說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • SpringBoot集成SpringMVC的方法示例

    SpringBoot集成SpringMVC的方法示例

    這篇文章主要介紹了SpringBoot集成SpringMVC的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Java Resource路徑整理總結(jié)

    Java Resource路徑整理總結(jié)

    這篇文章主要介紹了 Java Resource路徑整理總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Java下載文件的四種方式詳細(xì)代碼

    Java下載文件的四種方式詳細(xì)代碼

    這篇文章介紹了Java下載文件的四種方式,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • springboot整合websocket后啟動(dòng)報(bào)錯(cuò)(javax.websocket.server.ServerContainer not available)

    springboot整合websocket后啟動(dòng)報(bào)錯(cuò)(javax.websocket.server.ServerCont

    這篇文章主要介紹了springboot整合websocket后啟動(dòng)報(bào)錯(cuò)(javax.websocket.server.ServerContainer not available),通過分析錯(cuò)誤信息、排查代碼和配置,找出問題的根源,并給出相應(yīng)的解決方案,感興趣的可以了解一下
    2024-01-01
  • Springboot視頻接口報(bào)大量的ClientAbortException找不到原因的解決

    Springboot視頻接口報(bào)大量的ClientAbortException找不到原因的解決

    本文主要介紹了Springboot視頻接口報(bào)大量的ClientAbortException找不到原因的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • idea2020.2卡死在reading maven projects

    idea2020.2卡死在reading maven projects

    這篇文章主要介紹了idea2020.2卡死在reading maven projects,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Spring-cloud-eureka使用feign調(diào)用服務(wù)接口

    Spring-cloud-eureka使用feign調(diào)用服務(wù)接口

    這篇文章主要為大家詳細(xì)介紹了Spring-cloud-eureka使用feign調(diào)用服務(wù)接口,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 一文詳解如何配置MyBatis實(shí)現(xiàn)打印可執(zhí)行的SQL語句

    一文詳解如何配置MyBatis實(shí)現(xiàn)打印可執(zhí)行的SQL語句

    在MyBatis中,動(dòng)態(tài)SQL是一個(gè)強(qiáng)大的特性,允許我們?cè)赬ML映射文件或注解中編寫條件語句,根據(jù)運(yùn)行時(shí)的參數(shù)來決定SQL的具體執(zhí)行內(nèi)容,這篇文章主要給大家介紹了關(guān)于如何配置MyBatis實(shí)現(xiàn)打印可執(zhí)行的SQL語句的相關(guān)資料,需要的朋友可以參考下
    2024-08-08

最新評(píng)論