久久亚洲精品成人_国产精品欧美综合亚洲_亚洲va天堂va欧美ⅴa在线_91色视频在线观看_久久影院亚洲_一级黄色片播放_日韩av在线一区_精品一区二区在线看_老头吃奶性行交视频_日韩免费高清视频_天天操天天爽天天干_日本欧美在线视频

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

java通過輸入工作日數(shù)(正或負(fù))得到具體日期或計(jì)算兩個(gè)日期之間的工作日

2019-11-11 07:54:20
字體:
供稿:網(wǎng)友

由于工作需要:加減工作日得到具體的日期和計(jì)算兩個(gè)日期之間工作日兩種需求(當(dāng)然參考了其他作者的內(nèi)容,在這里自己做了重新處理):

首先手動(dòng)錄入今年或最近幾年的工作日和調(diào)休日,先在Excel中錄入,格式如下(寫END為了補(bǔ)齊第三列,后面加載時(shí)候要用):
節(jié)假日 法定調(diào)休工作日 END
2017/1/28 END
2017/1/29 2017/1/14 END
2017/1/30 2017/1/15 END

2. 把除了表頭“節(jié)假日”“法定調(diào)休工作日”“END”的其他三列拷貝到一個(gè)新的sheet中; 3. 點(diǎn)擊excel中的另存為:文本文件(制表符分割)也就是.txt文件; 4. 加載生成的.txt文件; 5. 加載一次后存入static靜態(tài)代碼塊中; 6. 構(gòu)建了getWorkDayNum(String dateStartStr,String dateEndStr)方法和getWorkDay(String dateStartStr,int n) 方法分別獲取兩個(gè)日期之間的工作日和距離dateStartStr有n個(gè)工作日的日期,如果n為負(fù)數(shù)則再加判斷即可,后面也寫了; 7. 具體代碼如下:(當(dāng)然要在啟動(dòng)的時(shí)候加載讀取txt的方法,在grails中是這樣寫的,如HolidayWorkdayUtil.initialize(grailsapplication.config.workday.holiday.file as String)

import java.io.File;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.List;import java.util.Scanner;import java.util.regex.Pattern;/** * 根據(jù)讀取配置的txt判斷是否為法定節(jié)假日,及法定工作日 * @author */public class HolidayWorkdayUtil { PRivate SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); private static List<String> holidays = new ArrayList<String>(); private static List<String> workdays = new ArrayList<String>(); /** * 獲取剩余的工作日天數(shù) * @param date * @return * @throws ParseException */ public int getWorkDayNum(String dateStartStr,String dateEndStr) throws ParseException{ Date now=sdf.parse(dateStartStr); boolean flag = true; int count=0; String today=""; Date da=sdf.parse(dateEndStr); if(da.getTime()>=now.getTime()){ //System.out.println(holidays); // System.out.println(workdays); Calendar c = Calendar.getInstance(); for(int i=0;i<=3650;i++){ c.setTime(now); c.set(Calendar.DATE, c.get(Calendar.DATE) + i); int dateType = getDateType(c); today = sdf.format(c.getTime()); //System.out.println("date..."+today); //如果文件不存在當(dāng)前日期。判斷是否周六日 if(dateType==0){ if(c.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY|| c.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY){ flag = false; }else{ flag=true; } }else{//如果存在當(dāng)前日期,根據(jù)返回的類型判斷 if(dateType==1){//節(jié)假日 flag = false; }else if(dateType==2){//工作日 flag = true; } } // System.out.println(today+"是:"+(flag==true?"工作日":"節(jié)假日")); if(flag){ count++; } // System.out.println(count); if(today.equals(dateEndStr) || today==dateEndStr){ break; } } } return count-1; } /** * 判斷當(dāng)天是否是工作日 (工作日:true;節(jié)假日:false) * @param filePath * @return * @throws ParseException */ public String getWorkDay(String dateStartStr,int n) throws ParseException{ boolean flag = true; int count=0; String today=""; //System.out.println(holidays); //System.out.println(workdays); Date now=sdf.parse(dateStartStr); Calendar c = Calendar.getInstance(); for(int i=0;i<=3650;i++){//這里是一天一天的加,如果有更好的也可以 c.setTime(now); c.set(Calendar.DATE, c.get(Calendar.DATE) + i); int dateType = getDateType(c); today = sdf.format(c.getTime()); //System.out.println("date..."+today); //如果文件不存在當(dāng)前日期。判斷是否周六日 if(dateType==0){ if(c.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY|| c.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY){ flag = false; }else{ flag=true; } }else{//如果存在當(dāng)前日期,根據(jù)返回的類型判斷 if(dateType==1){//節(jié)假日 flag = false; }else if(dateType==2){//工作日 flag = true; } } // System.out.println(today+"是:"+(flag==true?"工作日":"節(jié)假日")); if(flag){ count++; } // System.out.println(count); if(count==(n+1)){ break; } } return today; } /** * 根據(jù)判斷當(dāng)前時(shí)間是否是節(jié)假日還是工作日 (txt中不存在當(dāng)前日期:0;節(jié)假日:1;工作日:2) * 如果當(dāng)前日期在txt中的節(jié)假日和工作日都寫了,默認(rèn)的工作日 * @return */ private int getDateType(Calendar c){ int type = 0; String today = sdf.format(c.getTime()); if(holidays.size()>0){ for(String holiday:holidays){ if(holiday.equals(today)){ type = 1; break; } } } if(workdays.size()>0){ for(String workday:workdays){ if(workday.equals(today)){ type = 2; } } } return type; } /** * 讀取excel中的節(jié)假日和工作日,同時(shí)統(tǒng)一日期格式為2017-01-01 */ public static void initialize(String filePath){ if(filePath==null||"".equals(filePath)){ return ; } Scanner in = null; try { in = new Scanner(new File(filePath)); String result1 = ""; while (in.hasNextLine()) { result1 = in.nextLine() ; String[] strArray=result1.split("/t"); if(strArray==null||strArray.length==0){ return; } //獲取第一列數(shù)據(jù)-節(jié)假日 String analyStartDate=""; String startDateStr=""; try{ analyStartDate=strArray[0].trim(); if(analyStartDate=="" || analyStartDate.equals("") || "http://".contains(analyStartDate)){ analyStartDate=""; }else{ Pattern pa = Pattern.compile("http://D+"); String[] numbers = pa.split(analyStartDate); int a=0; for(String number:numbers){ if(null!=number && !"".equals(number)){ if(a>0 && a<3){ int i = Integer.parseInt(number); if(i<10 && !number.contains("0")){ startDateStr=startDateStr+"-"+"0"+number; }else{ startDateStr=startDateStr+"-"+number; } a++; }else if(a==0){ startDateStr=""+number; a++; }else{ break; } } } if(a<3 || a>=4){ startDateStr=""; } analyStartDate=startDateStr; holidays.add(analyStartDate); } }catch(Exception e){ e.printStackTrace(); } //獲取第二列數(shù)據(jù)-工作日 String workDate=""; String workDateStr=""; try{ workDate=strArray[1].trim(); if(workDate=="" || workDate.equals("") || "http://".contains(workDate)){ workDate=""; }else{ Pattern pa = Pattern.compile("http://D+"); String[] numbers = pa.split(workDate); int a=0; for(String number:numbers){ if(null!=number && !"".equals(number)){ if(a>0 && a<3){ int i = Integer.parseInt(number); if(i<10 && !number.contains("0")){ workDateStr=workDateStr+"-"+"0"+number; }else{ workDateStr=workDateStr+"-"+number; } a++; }else if(a==0){ workDateStr=""+number; a++; }else{ break; } } } if(a<3 || a>=4){ workDateStr=""; } workDate=workDateStr; workdays.add(workDate); } }catch(Exception e){ e.printStackTrace(); } } } catch (Exception e) { e.printStackTrace(); } finally { if (in != null) { in.close(); } } }}

如果輸入的天數(shù)是負(fù)數(shù)則加判斷

HolidayWorkdayUtil h=new HolidayWorkdayUtil();if(n<0){ Calendar c = Calendar.getInstance(); c.setTime(new Date()); c.set(Calendar.YEAR, c.get(Calendar.YEAR) - 1);//如果為負(fù)數(shù),先把時(shí)間調(diào)回到一年前開始迭代 def nn=-n; //println nn; for(int i=0;i<=365;i++){ c.add(5, 1); //表示天加一 startDateStr=Util.dateParser1.format(c.getTime()); dayNum = h.getWorkDayNum(startDateStr,todayStr); //println workday if(dayNum==nn){ break; } } workday=startDateStr; }else{ workday = h.getWorkDay(todayStr,n); }
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
91久久久久久久久久久久久| 中文欧美字幕免费| 久久综合亚州| 91在线观看免费视频| 欧美日韩亚洲一区二区三区| 亚洲国产精品嫩草影院久久| 天天综合天天干| 日韩女同强女同hd| 国产精品视频入口| 欧美日本精品一区二区三区| 97av视频在线观看| 欧美亚洲日本一区| 日韩精品久久久久久久| 国产91久久婷婷一区二区| 视频一区二区国产| 欧美 国产 精品| 在线免费观看一区| 久久久久久亚洲av无码专区| 中文字幕日韩一区二区三区不卡| 欧美一区二区黄| 午夜影院免费体验区| 免费成人在线视频网站| 一区二区三区高清国产| 丁香婷婷深情五月亚洲| 国产精品jizz| 免费在线成人av电影| 日韩欧美在线看| 99国产精品久久久久99打野战| www.成年人视频| 亚洲男人天堂2019| 国产精品少妇自拍| 老司机精品福利视频| 欧美激情论坛| 国内成人精品视频| 欧美精品一区二区三区四区 | 国产综合精品视频| 欧洲女同同性吃奶| 蜜臀av午夜一区二区三区| 久久国产日韩欧美| 国产精品久久久久免费a∨| 久久亚洲国产精品| 亚洲第一二三四五区| 激情成人中文字幕| 亚洲女同女同女同女同女同69| 久久狠狠亚洲综合| 久久久久久久高潮| 性生交生活影碟片| a级片免费观看| 韩国三级中文字幕hd久久精品| 精品国产乱码久久久久久1区二区| 亚洲另类图片色| 久久99最新地址| 裸体丰满少妇做受久久99精品| 亚洲精品小视频| 91啪亚洲精品| 日批视频在线播放| 波多野结衣视频在线看| 亚洲AV无码片久久精品| 国产成a人亚洲精v品在线观看| 国产噜噜噜噜久久久久久久久| 日韩欧美电影一区| 亚洲成av人影院| 久久一区二区三区视频| 女人扒开屁股爽桶30分钟| 国产精品对白刺激| 日韩精品中文字幕视频在线| 性久久久久久久| 99精品桃花视频在线观看| 好吊色一区二区| 国产一级淫片免费| 永久免费看mv网站入口| 中文字幕18页| 91影院在线免费观看视频| 国产成人免费av电影| 九九视频这里只有精品| 日韩亚洲精品电影| 久久久国产精品一区| 一本一道久久a久久精品逆3p | 91精品久久久久久久久| 性欧美在线看片a免费观看| 日韩视频―中文字幕| 日韩中文有码在线视频| 在线观看国产精品日韩av| 欧美不卡一区二区三区四区| 日韩av二区在线播放| 亚洲影视一区二区| 国产一级片一区二区| 老熟妇一区二区三区啪啪| 特级片在线观看| 日本午夜小视频| 亚洲综合网av| 亚洲国产视频一区二区三区| 日本黄区免费视频观看| 中国极品少妇xxxx| 国产大尺度视频| 91手机在线播放| 日韩视频永久免费观看| 欧美色综合影院| 亚洲欧美日韩国产成人精品影院 | 国内av一区二区| 欧美大片在线播放| 国产免费黄色小视频| 欧美国产日韩在线播放| 久久黄色av网站| 亚洲丝袜在线视频| 国内揄拍国内精品少妇国语| 91久久精品日日躁夜夜躁国产| 日本免费高清一区二区| 少妇无码av无码专区在线观看 | h色网站在线观看| 亚洲国产福利视频| 黄网在线观看视频| 黄色aaa大片| 亚洲视频在线一区| 亚洲电影免费观看高清| 97精品视频在线| 国产在线拍揄自揄视频不卡99 | 美国av一区二区| 精品亚洲永久免费| 在线免费观看高清视频| 久久国产精品99久久久久久老狼| 亚洲伦理在线精品| 国产**成人网毛片九色 | 国产精品免费无遮挡无码永久视频| 日韩欧美国产亚洲| 精品国产无码一区二区| 麻豆一区二区99久久久久| 国产寡妇亲子伦一区二区| 中文字幕不卡在线观看| 欧美日韩成人一区二区| 国内揄拍国内精品少妇国语| 日本日本精品二区免费| 国产乱淫av片杨贵妃| 国产综合免费视频| 在线观看亚洲网站| 精品久久久中文字幕人妻| gogo大胆日本视频一区| 日韩欧美中文一区二区| 国产精品亚洲精品| 亚洲人成色77777| 午夜视频网站在线观看| 久久久不卡网国产精品二区 | 国产精品永久久久久久久久久| 国产精品看片你懂得| 在线日韩日本国产亚洲| 一道精品一区二区三区| 欧美黑人性猛交xxx| 99re热这里只有精品免费视频| 正在播放亚洲一区| 日韩欧美视频一区二区三区四区| 国产综合精品久久久久成人av| 天天看片中文字幕| 久久精品国产99国产| 亚洲影院久久精品| 韩国美女主播一区| 一女二男3p波多野结衣| 精品久久久无码中文字幕| 色婷婷久久99综合精品jk白丝| 国产精品日日做人人爱| theav精尽人亡av| www精品美女久久久tv| 久久理论片午夜琪琪电影网| 奇米777在线视频| 顶级黑人搡bbw搡bbbb搡| 91麻豆高清视频| 日韩免费在线看| 欧美一区二区三区粗大| 亚洲专区一二三| 日本一区网站| 亚洲欧美另类在线视频| 亚洲国产另类av| 国产欧美日韩伦理| jizz国产免费| 欧美伊人久久久久久久久影院| 日本一区免费在线观看| 中文字幕av无码一区二区三区| 日韩午夜av一区| 亚洲精品第三页| 久久午夜国产精品| 日本一区高清在线视频| 美女www一区二区| 欧美日韩国产成人在线观看| www.17c.com喷水少妇| 国产精品久久二区二区| 国产偷久久久精品专区| 懂色av成人一区二区三区| 久久精品视频免费播放| 蜜桃av免费看| aaa一区二区| 久久人人爽国产| 波多野结衣视频免费观看| 久久精品在线视频| 69亚洲精品久久久蜜桃小说| 欧美亚洲精品一区| 91黄色小网站| 91麻豆成人久久精品二区三区| 日本免费高清一区二区| 国精产品一区一区三区mba桃花| 国产999视频| 亚洲高清视频网站| 国产精品成人一区二区| 久草手机在线视频| 欧美激情精品久久久久久免费| 亚洲国产私拍精品国模在线观看| 成人精品视频99在线观看免费| 国产亚洲精品精品精品| 亚洲成精国产精品女| 永久免费在线看片视频| 成人听书哪个软件好| 青娱乐国产91| 欧美日韩在线视频免费播放| 日韩情涩欧美日韩视频| 91精品久久久久久久久久久久| 亚洲白虎美女被爆操| 免费毛片一区二区三区| 欧洲美女免费图片一区| 麻豆精品在线视频| 人妻有码中文字幕| 午夜精品一区二区三区三上悠亚| 法国空姐在线观看免费| 国产日韩欧美精品一区| 久久国产成人精品国产成人亚洲| 欧美日韩国产影院| 欧美熟妇精品一区二区蜜桃视频| 亚洲国产精品国自产拍av秋霞| 日本少妇性生活| 日韩av不卡在线| 91麻豆视频网站| 中文在线字幕观看| www.久久久久久.com| 熟女少妇内射日韩亚洲| 精品少妇一区二区三区在线播放| 亚洲高清毛片一区二区| 国产日韩欧美在线观看| 国产成人小视频| 漂亮人妻被中出中文字幕| 欧美一区二区在线看| 亚洲精品国产久| 久久综合亚洲社区| 精品在线你懂的| 日韩 欧美 高清| 亚洲国产欧美日韩另类综合| 亚洲高清无码久久| 久久久久久久久久国产| 成人蜜臀av电影| 国产免费一区二区三区最新6| 欧美精品在线免费观看| 成人一区二区三区视频在线观看| 一本一道久久a久久综合蜜桃| 久久精品免费播放| 国产天堂亚洲国产碰碰| 三级在线观看免费大全| 91精品国产综合久久男男| 中文字幕欧美激情一区| 91视频免费在线看| 欧美日韩亚洲在线| 日韩一级在线观看| 日韩av成人高清| 国产一二三四五区| 色就是色欧美| 国产午夜一区二区| 亚洲国产精品传媒在线观看| 女教师淫辱の教室蜜臀av软件| 国产精品一区二区久久| 国产三级小视频| 国产一区亚洲二区三区| 97在线日本国产| 午夜欧美视频在线观看 | 欧美婷婷精品激情| 97av在线视频| 黄色精品在线看| 奇米在线7777在线精品| 国产精品二区一区二区aⅴ| 清纯唯美一区二区三区| 日韩一区二区不卡| 国内久久精品视频| 久久不卡免费视频| 亚洲第一天堂久久| 国产精品久久久久9999| 欧美精品一区二区高清在线观看| 国产欧美日韩视频在线观看| 五月婷婷六月婷婷| 无码h肉动漫在线观看| 精品乱码一区| xxx一区二区| 欧美久久久影院| 国产精品久久久久久久久免费桃花| 一二三区中文字幕| 97超碰在线免费观看| 国产一级片黄色| 波多野结衣成人在线| 精品久久久91| 香蕉视频黄在线观看| 欧美日韩亚洲国产另类| 日韩网站在线免费观看| 国产日本欧美一区二区三区| 亚洲一区av在线播放| 色88888久久久久久影院按摩| 99国产精品99久久久久久| 成人小说亚洲一区二区三区| 黄页网站免费观看| 全程偷拍露脸中年夫妇| 国产精品久久AV无码| 亚洲一区在线不卡| 欧美日韩亚洲一| 午夜精品短视频| 久久av一区二区三区漫画| 亚洲自拍偷拍色图| 国产在线视频一区| 欧美高清电影在线看| 亚洲成色777777女色窝| 亚洲激情自拍视频| 99re这里只有精品视频首页| 丝袜美腿高跟呻吟高潮一区| 国产精品久久婷婷| 青娱乐国产精品| 国产一级黄色av| 精品深夜av无码一区二区老年| 中文字幕在线观看网址| 四虎成人在线播放| 91黄色小网站| 国产又大又黄又粗又爽| 91成人免费视频| 色婷婷**av毛片一区| 亚洲日韩第一页| 日韩精品一区二区三区三区免费| 欧美一级在线免费| 亚洲高清一二三区| 麻豆一区二区在线观看| 国产精品自拍网| 99久久精品免费看国产一区二区三区 | 色偷偷成人一区二区三区91 | 高清shemale亚洲人妖| 成人国产精品免费网站| 成人午夜视频免费看| 国产精品美女久久久久久2018| 欧美午夜一区二区三区免费大片| 亚洲一二三级电影| 日韩欧美在线第一页| 日韩成人在线播放| 欧美性受xxxx白人性爽| 国产精品极品尤物在线观看 | 国产一区二区三区视频在线观看| 久久频这里精品99香蕉| 日本道色综合久久影院| 国产精品丝袜久久久久久高清 | 欧美激情区在线播放| 欧美在线视频导航| 91久久精品国产91久久性色tv| 99热一区二区三区| 大片在线观看网站免费收看| 一区二区三区一级片| 欧美精品久久久久久久自慰| 精品无码国产一区二区三区51安| 精品一级少妇久久久久久久| 中文字幕av网站| 美腿丝袜亚洲色图| 国产精品视频观看| 精品99一区二区三区| 性欧美xxxx交| 亚洲小说欧美另类激情| 国产免费无遮挡吸奶头视频| 91好色先生tv| 久久综合色天天久久综合图片| 欧美天堂一区二区三区| 精品国产一区二区三区久久| 水蜜桃一区二区三区| 欧美性xxxx图片| 香蕉影视欧美成人| 懂色av蜜臀av粉嫩av喷吹| 国产一级av毛片| 久久蜜桃精品| 欧美一区二区在线播放| 美女性感视频久久久| 欧美激情精品久久久久久小说| 在线观看国产免费视频| 中文字幕亚洲精品一区| 高清不卡在线观看av| 欧美视频三区在线播放| 91精品国产色综合久久不卡98口| 中文字幕有码av| 91影院在线播放| 亚洲免费在线观看视频| 一级做a爰片久久毛片美女图片| 欧美日韩在线播放一区二区| 午夜男人的天堂| 色呦呦视频在线| 亚洲视频精品在线| 青草全福视在线| 日本精品人妻无码77777| 国产盗摄精品一区二区三区在线| 在线播放91灌醉迷j高跟美女| 久久综合久久综合这里只有精品| 国产美女激情视频| 一区二区激情视频| 国产精品免费一区二区三区都可以 | 亚洲欧美日韩久久久久久 | 欧美高清视频免费观看| 欧美这里只有精品| 538精品在线视频| caoporn国产一区二区| 亚洲天堂色网站| 日韩av加勒比| 国产不卡在线一区| 中文字幕成人精品久久不卡| 黄色一级视频播放| 国产999久久久| 日韩一区二区在线观看视频播放| 香蕉久久夜色| 国产男女无套免费网站|