Joda Time,获取工作日

vij*_*jay 7 java jodatime

如何使本地日期只计算周日期?

例如

LocalDate date = new LocalDate();
date.plusDays(10); //it returns plus days including sat and sun as 2013-03-21
//i am looking for a way
date.plusDays(10); //should return as 2013-03-26
Run Code Online (Sandbox Code Playgroud)

我想找个方法去除周末?

Joe*_*013 22

使用该getDayOfWeek()方法.回报如下.为了只获得工作日...你只需要检查返回值是否小于或等于5.

public static final int MONDAY = 1;
public static final int TUESDAY = 2;
public static final int WEDNESDAY = 3;
public static final int THURSDAY = 4;
public static final int FRIDAY = 5;
public static final int SATURDAY = 6;
public static final int SUNDAY = 7;
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考,如果您想直接访问这些常量,请在`org.joda.time.DateTimeConstants`中. (13认同)
  • 为什么第一天从“1”而不是“0”开始我永远不会知道......这给我带来了一个小时左右的麻烦...... (2认同)

vij*_*jay 5

LocalDate newDate = new LocalDate();
    int i=0;
    while(i<days)//days == as many as u wanted
    {
        newDate = newDate.plusDays(1);
        System.out.println("new date"+newDate);
        if(newDate.getDayOfWeek()<=5)
        {
            i++;
        }

    }
Run Code Online (Sandbox Code Playgroud)