java 获取十个工作日之前或之后的日期(算当天)

摘要:
/****根据开始日期和所需工作日计算工作结束日期,并返回结束日期*@paramstartDate开始日期*@pparamworkDay工作日(周一至周五)*/publicstaticStringgetWorkDay(DatestartDate,intworkDay){Calendarc1=Calendar.getInstance();c1.setTime(startDate);for(
/**
     *
     * 根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期
     * @param startDate 开始日期
     * @param workDay 工作日天数(周一到周五)
     */
    public static String 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");
        c1.set(Calendar.DATE, c1.get(Calendar.DATE) +1);
        return df.format(c1.getTime());
    }

    /**
     *
     * 根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期
     * @param startDate 开始日期
     * @param workDay 工作日天数(周一到周五)
     */
    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类型
     */
    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];
    }

转自:https://www.cnblogs.com/feiyuanxing/p/4990542.html

免责声明:文章转载自《java 获取十个工作日之前或之后的日期(算当天)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux FTP 服务器配置简单说明【cocos2d-js官方文档】二十四、如何在android平台上使用js直接调用Java方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

input 时间字段默认值

背景: 时间字段展示默认值,开始时间为当天 0点,结束时间为当天晚上12点 代码: 1 <input style="Width: 180px;float:left ;" type="date" id="start_time" 2 name="start_time" placeholder="请选择具体时间" data-format="YYY...

JAVA中java.util.Date、java.sql.Timestamp和String之间的互相转换

感谢博主分享 https://www.cnblogs.com/zhang-yan/p/7733005.html java.util.Date---->String /** * 将java.util.Date对象转化为String字符串 * @param date * 要格式的java.util.Date对象 * @par...

循序渐进Linux 2:Linux的常用命令及使用技巧

一、Shell   shell本身是一个以C语言编写的程序,是用户和操作系统内核之间通信的桥梁。shell既是一种命令解释程序,又是一种功能强大的解释型程序设计语言。shell解释用户输入的命令,提交到内核处理,最后返回结果给用户。 1. shell命令语法分析 command [option] -[arguments] 2. shell的通配符 bash...

pc端遇到的知识点

1、封装时间组件(基于 element) commonDate.vue <template> <!-- 年月日 --> <el-date-picker v-model="val" :type="type"...

Oracle常用函数汇总

在Oracle OCP考试中,相当一部分知识点涉及到对于Oracle常见函数的考查。尽管Oracle官方文档SQL Language Reference中Functions一章内列举了所有Oracle自带函数,但如果要系统的看一遍,还是要花费相当的精力,更何况还是英文呢。如果碰到一个不熟悉的,就查一下,不经常用,又很容易遗忘。下面就对Oracle常见函数做...

linux中date命令获取日期信息

linux中date命令用于获取当前的日期 1、 root@PC1:/home/test# date ##在终端直接输入date即可获取当前的日期信息 2022年 01月 14日 星期五 12:30:42 CST 2、 root@PC1:/home/test# date +%Y ##年 2022 root@PC1:/home/test# date...