2016-06-12 9 views
0
public void setDate(View view){ 
     Calendar calendar = Calendar.getInstance(); 

     new DatePickerDialog(CreateEventActivity.this,listener,calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show(); 
    } 

    DatePickerDialog.OnDateSetListener listener = new DatePickerDialog.OnDateSetListener() { 
     @Override 
     public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
      Calendar setTime=Calendar.getInstance(); 
      setTime.set(year,monthOfYear+1,dayOfMonth); 
      eventDate=setTime.getTime(); 

      SimpleDateFormat dayFormat=new SimpleDateFormat("EEEE"); 
      eventDayOfWeek=dayFormat.format(eventDate); 

      Context appContext=getApplicationContext(); 
      Toast.makeText(appContext,(appContext.getString(R.string.The_chosen_date_is))+": "+dayOfMonth+"/"+(monthOfYear+1)+"/"+year+","+eventDayOfWeek,Toast.LENGTH_LONG).show(); 
      dateTxt.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year); 
      dayTxt.setText(eventDayOfWeek); 


     } 
    }; 

私は、選択した日付を(日付ピッカーで)表示しようとしています。数字の日付は問題ありませんが、文字列の1日が間違っています。たとえば、2日先です。たとえば、土曜日の代わりに月曜日が書かれます。SimpleDateFormatが間違った日を指定しています

答えて

1

月が間違っています。 OnDateSetListenerヶ月はCalendar'sのようにゼロベースされ、あなたが+1する必要はありませんここではそれらを調整します

setTime.set(year,monthOfYear+1,dayOfMonth); 
関連する問題