2017-01-15 23 views
1

我使用datepicker,但每当我选择任何日期它显示-1 moneth。 例如,如果我选择12/12/2016,它将显示在文本框中12/11/2016 如果我选择3/1/2017,它将显示2017/3/2017选择日期后,它显示错误的月份

这是我的日期选择器对话框的代码片段:

editStartDate.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Calendar mcurrentDate = Calendar.getInstance(); 
        int mYear = mcurrentDate.get(Calendar.YEAR); 
        int mMonth = mcurrentDate.get(Calendar.MONTH); 
        int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH); 

        DatePickerDialog mDatePicker = new DatePickerDialog(TourActivity.this, new DatePickerDialog.OnDateSetListener() { 
         public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) { 
          Calendar newDate = Calendar.getInstance(); 
          newDate.set(selectedyear, selectedmonth, selectedday); 
          editStartDate.setText(selectedday + "/" + selectedmonth + "/" + selectedyear); 
         } 
        }, mYear, mMonth, mDay); 
        mDatePicker.setTitle("Select date"); 
        mDatePicker.show(); 

       } 
      }); 

请建议我在哪里输入错误代码。

回答

2

在这种情况下,月份数从0开始。因此,您必须添加1才能显示。

editStartDate.setText(selectedday + "/" + (selectedmonth + 1) + "/" + selectedyear); 

又见这个问题以供参考:Why is January month 0 in Java Calendar?

相关问题