2013-03-11 6 views
5

Come rendere la data locale solo la settimana?Joda Time, Get week days

Per esempio

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 

Sono cercare un modo per rimuovere il fine settimana?

risposta

17

Utilizzare il metodo getDayOfWeek(). Il ritorno sarà come segue. Inorder per ottenere solo giorni alla settimana .. non vi resta che verificare se il valore di ritorno è inferiore o uguale a 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

Solo per informazioni, se si vuole acces direttamente questi sono in 'queste costanti org.joda.time.DateTimeConstants'. –

+1

Perché il primo giorno inizia a "1" anziché a "0" non lo saprò mai ... Questo mi ha causato una buona ora o così di guai ... – 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++; 
     } 

    }