Get day of week

This example will show how to get the day of week using java, java 8 date time api and joda date time.

Straight up Java

@Test
public void get_day_of_week_java () {
    
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.MONTH, Calendar.APRIL);
    cal.set(Calendar.DAY_OF_MONTH, 4);
    cal.set(Calendar.YEAR, 2014);

    int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
    
    assertEquals(Calendar.FRIDAY, dayOfWeek);
}

Java 8

@Test
public void get_day_of_week_java8 () {
    
    LocalDate date = LocalDate.of(2014, Month.APRIL, 4);
    
    DayOfWeek dayOfWeek = date.getDayOfWeek();
    
    assertEquals(DayOfWeek.FRIDAY, dayOfWeek);
    
    // or 
    int dayOfWeek2 = dayOfWeek.get(ChronoField.DAY_OF_WEEK);
    
    assertEquals(DayOfWeek.FRIDAY.getValue(), dayOfWeek2);
    
    // or
    LocalDateTime localDateTime = LocalDateTime.of(2014, Month.APRIL, 4, 5, 4);
    
    DayOfWeek dayOfWeek3 = localDateTime.getDayOfWeek();
    
    assertEquals(DayOfWeek.FRIDAY, dayOfWeek3);
    
}

Joda Time

@Test
public void get_day_of_week_joda () {
    
    DateTime dateTime = new DateTime(2014, 4, 4, 0, 0);

    int dayOfWeek = dateTime.getDayOfWeek();
    
    assertEquals(DateTimeConstants.FRIDAY, dayOfWeek);
}