java 根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期

转载 2015年07月07日 09:51:07
/**
 * 根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期
 * @param startDate 开始日期
 * @param workDay 工作日天数(周一到周五)
 * @return Date类型
 * @createTime 2014-2-14
 * @author Sunqinbo
 */
public static Date getWorkDay(Date startDate, int workDay) {
    Calendar c1 = Calendar.getInstance();
    c1.setTime(startDate);
    for (int i = 0; i < workDay; i++) {
        c1.set(Calendar.DATE, c1.get(Calendar.DATE) + 1);
        if (Calendar.SATURDAY == c1.get(Calendar.SATURDAY) || Calendar.SUNDAY == c1.get(Calendar.SUNDAY)) {
            workDay = workDay + 1;
            c1.set(Calendar.DATE, c1.get(Calendar.DATE) + 1);
            continue;
        }
    }
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println(df.format(c1.getTime()) + " " + getWeekOfDate(c1.getTime()));
    return c1.getTime();
}
 
/**
 * 根据日期,获取星期几
 * @param dt
 * @return String类型
 * @createTime 2014-2-14
 * @author Sunqinbo
 */
public static String getWeekOfDate(Date dt) {
    String[] weekDays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
    Calendar cal = Calendar.getInstance();
    cal.setTime(dt);
    int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
    if (w < 0) w = 0;
    return weekDays[w];
}
 
public static void main(String[] args) {
    for (int i = 0; i < 10; i++) {
        System.out.print("工作日:" + i + " ");
        getWorkDay(new Date(), i);
    }
}


相关文章推荐

java 根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期

根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期
  • sqbzo
  • sqbzo
  • 2014年02月14日 10:33
  • 4060

计算两个日期之间的工作日天数

js计算两个日期之间的工作日天数

计科1111-1114班第五周讲义、课外作业(强连通分量、BFS,截止日期:2014年4月11日23点-周五晚,学委飞信通知同学)

无意中搜索到一篇网易丁磊的演讲(丁磊浙大演讲实录:一定要做你喜欢做的事情),因为只有自己感兴趣,才会全身心的投入进去,即使当时看起来投入没有收获,但世界是公平的,长时间来看,收获与付出一定是成正比,即...

Java实现返回截止今日为止,当月工作日数

直接上代码,不多说。可以封装成公用类使用。 package com.edutohome.service; import java.text.DateFormat; import java.te...

计科1111-1114班第三周讲义、课外作业(截止日期:2014年3月27日23点-周四晚,学委飞信通知同学)

第三周,我们主要探讨了 哈希算法 与 分治法。分治法是一个通用的算法框架,很多我们日常生活中接触到的算法都可以归类到分治法中。 本周重点 1. 哈希算法及其应用——MD5。大家应该明白哈希算法的主要三...

计科1111-1114班第二周讲义、课外作业(截止日期:2014年3月20日23点-周四晚,学委飞信通知同学)

这一周,我们主要探讨了“加密”。密码学与我们生活休戚相关,但又隐于无形,如同空气对于我们,虽感觉不到但却片刻不能少。     密码学是网络通信的基础。我们日常生活中使用网上银行、支付宝、购物、电子邮件...

计科1111-1114班第四周讲义、课外作业(截止日期:2014年4月3日23点-周四晚,学委飞信通知同学)

第四周主要讲授了 "第3章:图的分解"。首先从欧拉的哥尼斯堡七桥模型开始,引出图论的开始;然后介绍了图模型在一些其他领域的应用。 讲授内容 1. 图论的起源:欧拉 的 哥尼斯堡七桥模型,欧...

计科1111-1114班第六周讲义、课外作业(贪心算法之最小生成树、哈夫曼编码,截止日期:2014年4月18日23点-周五晚,学委飞信通知同学)

第6周,主要讲授了第4章的

计科1111-1114班第七周讲义、课外作业(动态规划,截止日期:2014年4月25日23点-周五晚,学委飞信通知同学)

第7周,主要对教材 第6章 dongt

开工了,发个招聘~长虹智能交易平台英雄帖(有截止日期,其实长期有效,标题要长,:)

写在前面:学历不重要,经历重要,能力更重要,最重要的有一颗拼博、坚韧、勇敢、友善的心和超强的学习能力,欢迎技术大牛和能工巧匠。Ps. 想要找个平台部门混日子的可以免了,因为此“平台”不是彼“平台”。...
  • jhzyz
  • jhzyz
  • 2016年02月17日 17:19
  • 2834
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期
举报原因:
原因补充:

(最多只允许输入30个字)