2013-03-11 6 views
5

Jak ustawić lokalną datę jako datę tylko na tydzień?Joda Czas, otrzymuj dni tygodnia

Na przykład

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 

Jestem szukać drogi do usunięcia weekendy?

Odpowiedz

17

Użyj metody getDayOfWeek(). Zwrot będzie następujący. Inorder dostać tylko dni tygodnia .. po prostu trzeba sprawdzić czy zwrócona wartość jest mniejsza lub równa 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; 
+9

Tylko dla informacji, jeśli chcesz acces te stałe są bezpośrednio w ' org.joda.time.DateTimeConstants'. –

+1

Dlaczego pierwszy dzień zaczyna się od '1' zamiast' 0', nigdy się nie dowiem ... To spowodowało mi dobrą godzinę lub trochę kłopotów ... – Sakiboy

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++; 
     } 

    }