Java实现根据输入的日期以及天数,获取此日期之后的天数的工作日

public static void main(String[] args) {

        List<String> list = new ArrayList<String>();//节假日列表,正式环境中根据日期条件从数据库中获取
        list.add("2017-06-24");
        list.add("2017-06-25");
        list.add("2017-07-01");
        list.add("2017-07-02");
        list.add("2017-07-08");
        list.add("2017-07-09");

        Date curDate = getDate("2017-06-23");
        int days = 3;

        for (int i = 1; i <= days;) {
            curDate = addDays(curDate);

            if(!list.contains(new SimpleDateFormat("yyyy-MM-dd").format(curDate))){
                i++;
            }
        }

        System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(curDate));
    }

    public static Date addDays(Date date) {
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(date);
        calendar.add(Calendar.DATE, 1);

        return calendar.getTime();
    }

    public static Date getDate(String str) {
        try {
            return new SimpleDateFormat("yyyy-MM-dd").parse(str);
        } catch (ParseException ex) {
            Logger.getLogger(T05.class.getName()).log(Level.SEVERE, null, ex);
        }

        return null;
    }
时间: 2024-10-13 18:35:15

Java实现根据输入的日期以及天数,获取此日期之后的天数的工作日的相关文章

java获取当月天数,指定年月的天数,指定日期获取对应星期 .

1 package com.example.administrator.dayofmonth; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Calendar; 5 import java.util.Date; 6 7 /** 8 * Created by 火龙裸先生 on 2017/4/11 0011. 9 */ 10 11 public class Number_Of_Days { 12 13 /** 14 * 获取当月的

Oracle function实现根据输入的日期以及天数,获取此日期之后的天数的工作日

前提:在法定节日表(t_fdjr )中维护法定节日包括周六周天 /** * 功能描述:根据输入的日期以及天数,获取此日期之后的天数的工作日 * 输入参数: * i_date YYYY-MM-DD * i_day 天数 */ create or replace function fun_get_workday(i_date varchar2, i_day number) return varchar2 is k int:=0; d1 date; d2 date; begin k := i_day;

Java Date类和Calendar类的一个控制台打印日期的小程序

Java Date类和Calendar类的一个打印日期的小程序,可以直接用. package com.boy.Idate.calendar; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 控制台可视化日历 * @author 田硕 */ public class VisualCalendar {

Java万年历,输入年月获取改年月日历表

1 //输入年份和月份,打印出这个月的日历表 2 /* 3 1.1900年1月1日是星期一 4 2.计算输入的年份距离1900年有多少天再计算当年1月1日距这个月有多少天 5 1) 6 3.总天数%7得出从星期几开始 7 注:计算机中的时间最小到1900年,此外UNIX系统认为1970年1月1日0点是时间纪元. 8 so,在本程序中不考了1900年以前的年份了.有兴趣的可以自己研究下. 9 */ 10 import java.util.Scanner; 11 class Calender{ 12

用Java计算某个日期100天后的日期

用Java计算日期时间,首先考虑到时间类,Java中提供的和时间日期相关的类里,有一个Calendar类,可以获取某个时间日期. 计算某个日期100天后的日期,思路如下: 1.先设定时间,例如2017年1月1日: 2.在给定日期的天数上增加100: 具体代码如下: 1 /* 2 * 1.先给定一个时间,例如2017年1月1日 3 */ 4 Calendar cld = Calendar.getInstance(); 5 cld.set(Calendar.YEAR, 2017); 6 cld.se

编程题:用函数实现,用户输入年月日,来计算出该日期为当年第几天?

#include<stdio.h> /*函数is_leap_year()的返回值是判断该年是否闰年*/ int is_leap_year(int year) { int leap; if(year%4==0&&year%100!=0||year%400==0) leap=1; else leap=0; return leap; } /*函数len_of_month()的返回值为某年year的某月month的天数*/ int len_of_month(int year,int m

Java 根据给定的日期,计算两个日期之间的时间差

计算两个Date之间的时间差,基本思路为把Date转换为ms(微秒),然后计算两个微秒时间差. 时间的兑换规则如下: 1s秒 = 1000ms毫秒 1min分种 = 60s秒 1hours小时 = 60min分钟 1day天 = 24hours小时 package com.qiyadeng.date; import java.text.SimpleDateFormat; import java.util.Date; public class DateDifferentExample { publ

Java各种日期格式的获取和设置指定日期

因为近期在做一个项目,发现项目中日期设置的bug,于是查阅了多方资料后.最终攻克了,为此写篇总结.方便日后的查阅. 多的不说了.直接上代码 package com.example.testdate; import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; impo

Java 获取指定日期的方法总结 -转

格式化日期 String-->Date  或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");    Date  date = sdf.parse("2009-11-04");//String-->Date String  sdate  = sdf.format(date );// Data-->String ==================

Java 获取指定日期的方法总结

格式化日期 String-->Date 或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse("2009-11-04");//String-->Date String sdate = sdf.format(date );// Data-->String =========================