1

I have problems Set the date and get day of week

set 2011/1/17 ==> get Monday

   Date d = new Date();

d.setDate(17);
d.setMonth(1);
d.setYear(2011);

    SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
    String dayOfWeek = sdf.format(d);

/* - - - - - - - - - - OR - - - - - - - - - - - - - - - */

    Calendar c = Calendar.getInstance();

c.set(2011, 1, 17);

    int day = c.get(Calendar.DAY_OF_WEEK);
    String weekDay="";

    switch (day) {
                case Calendar.SUNDAY: weekDay = "Sunday"; break;
                case Calendar.MONDAY: weekDay = "Monday"; break;
                case Calendar.TUESDAY: weekDay = "Tuesday"; break;
                case Calendar.WEDNESDAY: weekDay = "Wednesday"; break;
                case Calendar.THURSDAY: weekDay = "Thursday"; break;
                case Calendar.FRIDAY: weekDay = "Friday"; break;
                case Calendar.SATURDAY: weekDay = "Saturday"; break;
              }
alina
  • 35
  • 7

2 Answers2

1

Remember January should be 0 in java Calendar. To set 2011/01/17 it should be 2011/00/17.

c.set(2011, 0, 17);
//or c.set(2011, Calendar.JANUARY, 17);

int day = c.get(Calendar.DAY_OF_WEEK);
String weekDay="";

switch (day) {
            case Calendar.SUNDAY: weekDay = "Sunday"; break;
            case Calendar.MONDAY: weekDay = "Monday"; break;
            case Calendar.TUESDAY: weekDay = "Tuesday"; break;
            case Calendar.WEDNESDAY: weekDay = "Wednesday"; break;
            case Calendar.THURSDAY: weekDay = "Thursday"; break;
            case Calendar.FRIDAY: weekDay = "Friday"; break;
            case Calendar.SATURDAY: weekDay = "Saturday"; break;
          }
T D Nguyen
  • 7,054
  • 4
  • 51
  • 71
1

you can use this

Calendar cal = Calendar.getInstance();
cal.set(2011, 0, 17);
SimpleDateFormat sdf = new SimpleDateFormat("EEEE",Locale.getDefault());
String dayInStrinFormat = sdf.format(cal.getTime());

0 for January .... 11 for December

alina
  • 35
  • 7
medhdj
  • 1,168
  • 10
  • 17
  • yeah it's a problem in the Java date/time API, look here to get more information [link](http://stackoverflow.com/questions/344380/why-is-january-month-0-in-java-calendar) – medhdj Jan 15 '15 at 23:47
  • as @Nguyen Doan Tung said you can use 0 for January to overcome this – medhdj Jan 15 '15 at 23:48