我正在开发一个简单的应用程序,用户在DatePicker上选择一些日期并在某些Toast消息中返回当前日期名称。 但是当我试图这样做时,它给了我一个错误的约会。 我的代码:
final int day = datepicker.getDayOfMonth();
datepicker.getDrawableState();
int mounth = datepicker.getMonth();
mounth+=1;
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, day);
String formatDay = new SimpleDateFormat("E").format(cal.getTime());
Toast.makeText(MainActivity.this, formatDay, 2000).show();
答案 0 :(得分:1)
您正在设置创建日历的月份日期,但您没有设置月份或年份。你需要使用DatePicker的getMonth()和getYear()并在Calendar上设置它们。 GregorianCalendar cal = new GregorianCalendar(datePicker.getYear(),datePicker.getMonth(),datePicker.getDayOfMonth(),0,0)而不是Calendar.getInstance()。使用getInstance(),您将获得当前时间的日历,然后只需更改日期。