选择日期后,显示错误的月份[重复]

Posted

技术标签:

【中文标题】选择日期后,显示错误的月份[重复]【英文标题】:After selecting date, its showing wrong month [duplicate] 【发布时间】:2017-05-30 05:16:11 【问题描述】:

我正在使用 datepicker,但每当我选择任何日期时,它都会显示 -1 个月。 例如-如果我选择 12/12/2016,它将显示在文本框 12/11/2016 如果我选择 3/1/2017,它将显示 3/0/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();

                
            );

请建议我在哪里放错了代码。

【问题讨论】:

【参考方案1】:

在这种情况下,月份计数是从 0 开始的。所以你必须加 1 才能显示。

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

另请参阅此问题以供参考:Why is January month 0 in Java Calendar?

【讨论】:

以上是关于选择日期后,显示错误的月份[重复]的主要内容,如果未能解决你的问题,请参考以下文章

android有月份选择器吗?或者怎么让日期选择器的日期不显示,只显示年份和月份

.NET WinForms 的月份选择器 [重复]

如何仅在月份、日期和年份中更改我的日期选择器显示

Bootstrap 日期选择器显示月份和年份菜单

如何在 Android 中选择可重复的日期? [关闭]

如何只用月份和年份字段显示android的日期选择器?