如何在Java中获取当前日期并添加五个工作日

安纳普·加纳特拉

我要两个约会。1)当前日期为MM / dd / yy格式2)修改日期为当前日期后五个工作日(星期一至星期五),并且应为MMM dd,yyyy格式。

因此,如果我的当前时间是6月9日,那么currentDate应该是2014年6月9日,而ModifyDate应该是2014年6月13日。

这个怎么做?

Himanshu Tyagi

这将增加工作日(周一至周五),并以所需格式显示日期。

2020年7月6日更新

  1. 现在,自定义日可以用作非工作日(请参阅列表NON_BUSINESS_DAYS
  2. 现在,甚至可以计算过去的日期(将businessDays设置为负val

import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class BusinessDateExamples {

    private static final List<Integer> NON_BUSINESS_DAYS = Arrays.asList(
                Calendar.SATURDAY,
                Calendar.SUNDAY
            );
    
    /**
     * Returns past or future business date
     * @param date starting date
     * @param businessDays number of business days to add/subtract
     *          <br/>note: set this as negative value to get past date
     * @return past or future business date by the number of businessDays value
     */
    public static Date businessDaysFrom(Date date, int businessDays) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        for (int i = 0; i < Math.abs(businessDays);) {
            // here, all days are added/subtracted
            calendar.add(Calendar.DAY_OF_MONTH, businessDays > 0 ? 1 : -1);
            
            // but at the end it goes to the correct week day.
            // because i is only increased if it is a week day
            if (!NON_BUSINESS_DAYS.contains(calendar.get(Calendar.DAY_OF_WEEK))){
                i++;
            }
        }
        return calendar.getTime();
    }
    
    public static void main(String...strings) {
        SimpleDateFormat s = new SimpleDateFormat("MM/dd/yy ( MMM dd, yyyy )");
        
        Date date = new Date();
        int businessDays = 5;
        
        System.out.println(s.format(date));
        
        System.out.print("+ " + businessDays + " Business Days = ");
        System.out.println(s.format(businessDaysFrom(date, businessDays)));
        
        System.out.print("- " + businessDays + " Business Days = ");
        System.out.println(s.format(businessDaysFrom(date, -1 * businessDays)));
    }
}

    Date date=new Date();
    Calendar calendar = Calendar.getInstance();
    date=calendar.getTime(); 
    SimpleDateFormat s;
    s=new SimpleDateFormat("MM/dd/yy");
    
    System.out.println(s.format(date));
    
    int days = 5;
    for(int i=0;i<days;)
    {
        calendar.add(Calendar.DAY_OF_MONTH, 1);
        //here even sat and sun are added
        //but at the end it goes to the correct week day.
        //because i is only increased if it is week day
        if(calendar.get(Calendar.DAY_OF_WEEK)<=5)
        {
            i++;
        }

    }
    date=calendar.getTime(); 
    s=new SimpleDateFormat("MMM dd, yyyy");
    System.out.println(s.format(date));

参考:https : //stackoverflow.com/a/15339851/3603806https://stackoverflow.com/a/11356123/3603806

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java中获取当前日期并添加五个工作日

来自分类Dev

如何在Python中查找当前日期是工作日还是周末?

来自分类Dev

如何在JavaScript中获取两个不同日期之间的工作日

来自分类Dev

如何在xslt 1.0中仅获取两个日期之间的工作日

来自分类Dev

根据当前日期和工作日列表获取日期

来自分类Dev

如果所选日期位于当前日期(今天)的五个工作日内,则发出警报

来自分类Dev

工作日(日期)与当前日期(工作日)比较

来自分类Dev

如何在Java中单行获取当前日期之前六个月的日期?

来自分类Dev

如何获取日历中的当前工作日

来自分类Dev

如何在工作流中获取当前日期(Dynamics CRM 2016)

来自分类Dev

如何在Cloudflare的工作人员中获取当前日期

来自分类Dev

如何在 Mule 工作流程中获取当前日期

来自分类Dev

如何在python中获取日期范围内某些特定工作日的列表

来自分类Dev

Excel公式,从当前日期到上个月的最后一个工作日的天数

来自分类Dev

如何在MySQL中向当前日期添加小时

来自分类Dev

如何在Android中获取当前日期和时间?

来自分类Dev

如何在C ++程序中获取当前日期?

来自分类Dev

如何在SQlite中获取当前日期时间格式?

来自分类Dev

如何在ReactNative中获取当前日期?

来自分类Dev

如何在python烧瓶中获取当前日期时间

来自分类Dev

如何在Android中获取当前日期和时间?

来自分类Dev

如何在 JavaScript 和 HTML 中获取当前日期?

来自分类Dev

如何在Java中获取系统的当前日期和时间

来自分类Dev

计算开始日期和当前日期之间的工作日

来自分类Dev

如何在PL / pgSQL中根据开始日期和持续时间(工作日)获取结束日期?

来自分类Dev

如何通过在Java中传递当前日期来获取下一个日期

来自分类Dev

如何通过在Java中传递当前日期来获取下一个日期

来自分类Dev

在Android中获取工作日和以下日期的日期

来自分类Dev

如何在Java中检查当前日期是否在两个重复发生的日期之间?

Related 相关文章

  1. 1

    如何在Java中获取当前日期并添加五个工作日

  2. 2

    如何在Python中查找当前日期是工作日还是周末?

  3. 3

    如何在JavaScript中获取两个不同日期之间的工作日

  4. 4

    如何在xslt 1.0中仅获取两个日期之间的工作日

  5. 5

    根据当前日期和工作日列表获取日期

  6. 6

    如果所选日期位于当前日期(今天)的五个工作日内,则发出警报

  7. 7

    工作日(日期)与当前日期(工作日)比较

  8. 8

    如何在Java中单行获取当前日期之前六个月的日期?

  9. 9

    如何获取日历中的当前工作日

  10. 10

    如何在工作流中获取当前日期(Dynamics CRM 2016)

  11. 11

    如何在Cloudflare的工作人员中获取当前日期

  12. 12

    如何在 Mule 工作流程中获取当前日期

  13. 13

    如何在python中获取日期范围内某些特定工作日的列表

  14. 14

    Excel公式,从当前日期到上个月的最后一个工作日的天数

  15. 15

    如何在MySQL中向当前日期添加小时

  16. 16

    如何在Android中获取当前日期和时间?

  17. 17

    如何在C ++程序中获取当前日期?

  18. 18

    如何在SQlite中获取当前日期时间格式?

  19. 19

    如何在ReactNative中获取当前日期?

  20. 20

    如何在python烧瓶中获取当前日期时间

  21. 21

    如何在Android中获取当前日期和时间?

  22. 22

    如何在 JavaScript 和 HTML 中获取当前日期?

  23. 23

    如何在Java中获取系统的当前日期和时间

  24. 24

    计算开始日期和当前日期之间的工作日

  25. 25

    如何在PL / pgSQL中根据开始日期和持续时间(工作日)获取结束日期?

  26. 26

    如何通过在Java中传递当前日期来获取下一个日期

  27. 27

    如何通过在Java中传递当前日期来获取下一个日期

  28. 28

    在Android中获取工作日和以下日期的日期

  29. 29

    如何在Java中检查当前日期是否在两个重复发生的日期之间?

热门标签

归档