2015-06-19 28 views
0

这里是我的代码:如何获得工作日给定日期在Android Studio中使用日历

// Date birthDay; 
      GregorianCalendar birthDay = new GregorianCalendar(); 

      birthDay.set(year_int,mo,da,0,0,0); 
      int weekday = birthDay.get(GregorianCalendar.DAY_OF_WEEK); 
      String weekDay = String.valueOf(weekday -1); 
      weekDay = weekDay.replace("0","Sunday."); 
      weekDay = weekDay.replace("1","Monday."); 
      weekDay = weekDay.replace("2","Tuesday."); 
      weekDay = weekDay.replace("3","Wednesday."); 
      weekDay = weekDay.replace("4","Thursday."); 
      weekDay = weekDay.replace("5","Friday."); 
      weekDay = weekDay.replace("6","Saturday."); 

有什么不对吗?请帮帮我。

+0

什么是 “怎么了”?请描述你的错误。请注意'get(DAY_OF_WEEK)'返回一个0到6之间的值,所以你的代码在那里是错误的。此外,查找'Calendar.getDisplayName'。 –

回答

0

改为使用joda-time。

DateTime birthDay = new DateTime(year, mo,day, 0, 0, 0); 
DateTimeFormatter format = DateTimeFormat.forPattern("EEEE"); 
String weekDay = birthday.toString(format); 

将返回星期几。

如果你想使用日历:

SimpleDateFormat sdf = new SimpleDateFormat("EEEE");  
Calendar calendar = new GregorianCalendar(year, mo,day, 0, 0, 0); 
String weekDay = sdf.format(calendar.getTime()); 
+0

其返回错误的一天 –